私はこのようなことをどのように行うことができるのか疑問に思っています:
String[] emoticon;
emoticon=e.split(":)");
split()で行うことは可能ですか?または別の方法がありますか?
:)
スマイリーフェイスを区切り文字として使用しようとしていると仮定すると、次の点を考慮する必要があります。split()
正規表現を受け入れるため、使用する特殊文字(を含むがこれに限定されない)を(で\\
)エスケープする必要があります。()[]+*
emoticon=e.split(":\\)");
使用Pattern.quote
:
emoticon = e.split(Pattern.quote(":)"));
String
それはあなたを囲み、あなたのパターン内のサブストリング\Q
を\E
エスケープします。\E
中括弧をエスケープする必要があります:
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());
}