我想知道如何做这样的事情:
String[] emoticon;
emoticon=e.split(":)");
是否可以使用split();还是有另一种方式?
答案 0 :(得分:4)
假设您尝试使用笑脸:)
作为分隔符,您需要考虑:split()
接受正则表达式,因此您必须转义(使用\\
)您使用的任何special characters(包括但不限于()[]+*
):
emoticon=e.split(":\\)");
答案 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());
}