段落を個々の単語の配列 (文字列配列など) に分割するには、最も一般的な答えは次のようになります。
String para = "ameya needs to win this cup.";
String[] abc = para.split(" ");
ただし、パラが含まれている場合は?そして、のと; など、これはどのように行うことができますか?例:
String para = "ameya,needs. to win?this cup.";
String#split(arg)
正規表現を引数として取り、正規表現で多くの文字の1つに一致させたい場合は、この形式(a|b|c|...|z)
を使用できます。これは、食べている文字を意味しますa OR b OR c OR [...] OR z
(...
実際に残りのアルファベット文字を入れる必要はありません)。
しかし、そのフォームは醜いので、のような文字クラスを使用できます[abcd...z]
。ただし、これは range of characters を使用して少し最適化することもできます[a-z]
。
それでは、あなたの質問に戻りましょう。すべてのスペースと追加の文字を一致させたい場合は、すべてで分割してみてください[\\s.,;?]
。また、その文字の単一グループに分割したい場合は、 を使用できます[\\s.,;?]+
。+
は、前に記述された 1 つまたは複数の要素を意味し+
ます。
だから多分この方法を試してください
String[] abc = para.split("[\\s.,;?]+");
正規表現を使用する
String str = "ameya,needs. to win?this cup.";
String [] arr = str.split("[\\s|,|\\.|;|\\?]");