gpt4 book ai didi

java - 如何删除字符串中除 "1"和 "2"之外的所有数字?

转载 作者:搜寻专家 更新时间:2023-11-01 02:35:09 24 4
gpt4 key购买 nike

我想删除 String 中的所有数字除了号码 12那个独立的。然后我想替换 1one2two .

例如,我期望的输入输出如下:

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";

所以,122019被删除,但是 12独立的替换为 onetwo .

我试过使用正则表达式,但所有数字都被删除了。这是我的代码:

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 .

我不知道如何更改此 12那个独立的。有什么建议吗?

最佳答案

您可以按以下顺序使用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

此外,在替换 12 时,使用字边界也很重要,以避免将这些数字匹配为其他数字的一部分。

关于java - 如何删除字符串中除 "1"和 "2"之外的所有数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58206730/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com