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 に答える