ルディCahyanto:
私は、内のすべての番号を削除したいString
除く数1
及び2
そのスタンドアローン。そして私は交換したい1
とone
して2
とtwo
。
たとえば、次のように私は期待していること、入力と出力は、次のとおりです。
String myString = "Happy New Year 2019, it's 1 January now,2 January tommorow";
予想される出力:
myString = "Happy New Year, it's one January now,two January tommorow";
だから、1
と2
では2019
削除されますが、1
と2
に置き換えられているだけで立つone
とtwo
。
私は正規表現を使用してみましたが、すべての数字が消去されました。ここに私のコードは次のとおりです。
public String cleanNumber(String myString){
String myPatternEnd = "([0-9]+)(\\s|$)";
String myPatternBegin = "(^|\\s)([0-9]+)";
myString = myString.replaceAll(myPatternBegin, "");
myString = myString.replaceAll(myPatternEnd, "");
return myString;
}
また、私は、この正規表現と交換しようとした[1]
と[2]
けど2019
なっtwo0one9
。
私はどのようにこれを変更するには考えていない1
し、2
それだけでスタンドを。任意の勧告?
anubhava:
あなたは使用することができreplaceAll
、このためには:
myString = myString
.replaceAll("\\b1\\b", "one") // replace 1 by one
.replaceAll("\\b2\\b", "two") // replace 2 by two
.replaceAll("\\s*\\d+", ""); // remove all digits
//=> Happy New Year, it's one January now,two January tommorow
また、単語の境界を使用することが重要です交換しながら、1
そして2
他のいくつかの数の一部として、これらの数字にマッチするのを避けること。