gpt4 book ai didi

java - 保留部分数字(S4,K2),所有字母和句号,但删除所有其他数字(简单且有小数点的数字)

转载 作者:行者123 更新时间:2023-12-01 11:16:40 25 4
gpt4 key购买 nike

我想保留部分数字,但从字符串中删除完整数字。

public static void main(String[] args){
String testString = "I walked 2 miles in 4 hour. I went to K2. I have 2000 Rupes only. This is 2.4.";
testString = testString.replaceAll("[0.0-9.9]", "");
System.out.println(testString);
}

这给了我以下结果。
“我每小时走了几英里,我去了 K,我只有卢比,这是”

但我想保留部分数字(如 K2)。只是想删除完整的数字(2、4 等)。另外,我想保留句号,但想删除小数点数字(2.4 等)。

我想要这些结果。
“我每小时走了几英里。我去了 K2。我有仅卢比。这是。”

正确的正则表达式应该是什么?
我会很感激你的。

最佳答案

尝试:

(?<![a-zA-Z])\d+(\.\d+)?(?![a-zA-Z])

对于 Java:(?<![a-zA-Z])\\d+(\\.\\d+)?(?![a-zA-Z])

地点:

  • (?<![a-zA-Z]) - 负向后查找,搜索字母
  • \d+(\.\d+)? - 数字
  • (?![a-zA-Z]) - 负向前瞻,搜索字母

否定查找检查在替换子字符串之前紧邻数字之后是否没有字母

DEMO

关于java - 保留部分数字(S4,K2),所有字母和句号,但删除所有其他数字(简单且有小数点的数字),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31744319/

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