1

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

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

是否可以使用 split() 来完成;还是有其他方法?

4

3 回答 3

4

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

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

IDEOne 上的概念验证

于 2012-12-04T18:04:43.860 回答
4

使用Pattern.quote

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

它将围绕您String\Q\E转义\E您的模式中的任何子字符串。

于 2012-12-04T18:05:14.133 回答
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());
}
于 2012-12-04T18:04:46.027 回答