从逗号分隔的

时间:2017-02-03 07:17:01

标签: java regex string replace

我是java的新手,目前有以下要求。

每当我在字符串中找到12.1时,它应该被移除,但它是有条件的。对于Eg

12.1,ztel,presto应为ztel,presto

12.1应替换为blank

12.1/7.1不应该做任何事情,因为它是单独的值

我尝试过stringValue.replace("12.1","");

大部分要求是,如果发现12.1以逗号分隔,或者只有12.1,则应将其替换为空白。

上述代码部分工作,并不适用于所有条件。

请指导并帮助我学习。非常感谢。

4 个答案:

答案 0 :(得分:1)

你可以尝试这个stringValue.replace(“12.1,”,“”); 在第一个参数中使用12.7之后的逗号。

答案 1 :(得分:1)

%save file=_command_used.txt% python script.py --option=foo 的第一个参数是正则表达式。你有没有考虑过,

String.replaceAll

现在它只会使用yourString.replaceAll("12\\.1,?", ""); ,而不会像.那样使用“任何字符”。如果存在,它也会匹配逗号。

如果你不能使用特定的东西,你可以使用否定。

.

这将留下yourString.replaceAll("12\\.1,?[^/]", "");

答案 2 :(得分:0)

听起来像正则表达式的一个很好的用例!您可以尝试使用不同的正则表达式来匹配regexr上的数据。

我会从像

这样的东西开始
^[\d\.]+,?
  • 开始一行:^
  • 包含数字[]或点\d的{​​{1}}组(由于\.是特殊字符,您必须逃脱)
  • 其中一个或多个.
  • 可选的逗号+

你需要做一些关于不匹配包含斜杠,?的条目的事情 - 我不知道如何处理它。

答案 3 :(得分:0)

如果12.1应该替换为空白是该字符串中唯一的单词,则可以使用此字符:

stringValue.replaceAll("^12\\.1$","blank");

然后再用该字符串替换该字符串以替换用逗号分隔的字符串:

stringValue.replaceAll("12\\.1,","");

最终代码将是这样的:

stringValue= stringValue.replaceAll("^12\\.1$","blank").replaceAll("12\\.1,","");

注意:^表示行的开头,而$表示行的结尾