「。」ごとに文字列を分割しようとしています。また "?" そして、私はこの正規表現を使用します:
(?<=(?!.[0-9])[?.])
理論的には、ポイントの後に数字が続く場合、コードは分割も防止するため、3.000 などは分割されず、新しい文字列にもポイントが含まれます。
たとえば、「こんにちは。お気に入りの数字は何ですか? 3.560 です」というテキストがあるとします。「こんにちは」、「好きな数字は?」、「3.560 です。」
私は自分のコンピューターで簡単なJavaプログラムを作成しましたが、それは私が望むように動作します:
String[] x = c.split("(?<=(?!.[0-9])[?.])");
for(String v : x){
System.out.println(v);
}
ただし、Android アプリでこの同じ正規表現を使用すると、何も分割されません...
x = txt.split("(?<=(?!.[0-9])[?.])");
//This, in my android app, returns an array with only one entry which is the whole string without splitting.
PS。(?<=[?.]) を使用すると機能するため、問題は (?!.[0-9]) の部分にある必要があります。これは、ポイントとそれに続く数字を除外することを意図しています。