我是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
,则应将其替换为空白。
上述代码部分工作,并不适用于所有条件。
请指导并帮助我学习。非常感谢。
答案 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,","");
注意:^表示行的开头,而$表示行的结尾