-3

段落を個々の単語の配列 (文字列配列など) に分割するには、最も一般的な答えは次のようになります。

String para = "ameya needs to win this cup.";
String[] abc = para.split(" ");

ただし、パラが含まれている場合は?そして、のと; など、これはどのように行うことができますか?例:

String para = "ameya,needs. to win?this cup.";
4

2 に答える 2

1

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.,;?]+");
于 2013-06-16T18:55:20.153 に答える
0

正規表現を使用する

String str = "ameya,needs. to win?this cup.";
String [] arr = str.split("[\\s|,|\\.|;|\\?]");
于 2013-06-16T18:46:54.923 に答える