用另一个字符串拆分String

时间:2012-12-04 18:02:52

标签: java string split emoticons

我想知道如何做这样的事情:

String[] emoticon;
emoticon=e.split(":)");

是否可以使用split();还是有另一种方式?

3 个答案:

答案 0 :(得分:4)

假设您尝试使用笑脸:)作为分隔符,您需要考虑:split()接受正则表达式,因此您必须转义(使用\\ )您使用的任何special characters(包括但不限于()[]+*):

emoticon=e.split(":\\)");

Proof-of-concept on IDEOne

答案 1 :(得分:3)

使用Pattern.quote

emoticon = e.split(Pattern.quote(":)"));

它将String\Q\E包围,并转义您模式中的所有\E子字符串。

答案 2 :(得分:2)

你需要逃避大括号:

emoticon=e.split(":\\)");

但是你知道,这会消除表情符号,对吗?

从某些文本中检索它,你需要这样的东西:

List<String> emoticons = new ArrayList<String>();
// adjust regex to find more emoticons
Pattern pattern = Pattern.compile(":\\)");
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
    emoticons.add(matcher.group());
}