1

私はJava文字列の分割に取り組んでいます。.文字列を「。大文字」(「 」と「大文字」の間にスペースがあります)に従って分割したいのですが、次に例を示します。

". A" ". B" ". C"...

また、「。」を残しておきたいです。そして「大文字」、それを行うための効率的な方法はありますか?私が使う

String.split("\\.\\s") 

前に、しかしそれは「。」を削除します 私が使う。したがって、これは理想的なソリューションではありません。ありがとう

サンプル結果

String = This is an Egg. This is a dog. "I just come up with this example"
String[0] = This is an Egg.
String[1] = This is a dog. "I just come up with this example"

さらに編集:

通常の方法では、文字列の1つで区切り文字が保持されるように見えるという問題があります。しかし、ある意味で区切り文字を分割したいと思います(私の例では、「。[AZ]」も分割されています)

4

2 に答える 2

3

ルックアラウンドを使用できます:

str.split("(?<=\\.\\s+)(?=\p{Lu})")

"First sentence. Foo bar. test"これは配列に分割されます

{ "First sentence. ", 
  "Foo bar. test" }

スペースを含めたくない場合は、ルックアラウンドアサーションの間にスペースを入れてください。

str.split("(?<=\\.)\\s+(?=\p{Lu}")

これにより、

{ "First sentence.", 
  "Foo bar. test" }

上記の文字列の例。

于 2012-04-21T15:31:09.690 に答える
-2

どうぞ:

使用するstr.replaceAll(". ",".##");

str.replaceAll(".",".##");

次に、String.split("##")

これにより、必要な文字列が得られます。

このリンクを確認してください

于 2012-04-21T15:28:45.720 に答える