1

私はこのようなテキストを持っています

Hello. @b this is text 1 #u user1

正規表現で抽出したい

This is text 1
user1

私の最初の試みは、@、# 記号を検出し、それらのテキストを StringBuilder に記録することです。ただし、これは EditText であり、ユーザーは一部の文字を削除でき、stringbuilder から削除する必要がありました。最後に、それはより複雑になってきているので、別の解決策を見つけることにしました。

私の質問は次のとおりです。コマンド (@b、#u、#b、@u) が使用可能な場合、これらのテキストを抽出するにはどうすればよいですか? 例えば:

Hello. @b this is text 1 => [This is text 1]
Hello. @b this is text 1 #u user1 => [This is text 1] [user1]
Hello. @u user1 => [user1]

私の2回目の試み:

 Pattern pattern = Pattern.compile("@b (.+) #u (.+)");
 Matcher mat = pattern.matcher(charSequence);
 while (mat.find()) {
      Logger.write("Matcher "+mat.group(1));
 }

ただし、特定のケース @b および #u でのみ機能します

4

1 に答える 1