我有一个包含不同值列表的String,如下所示:
Joe = 544
Sam = 43
Jenny = 126
我必须用新值替换Sam和他的值,或者完全删除到新行的行,这样我才能重新编写他的值。我宁愿更换。
我找到了一些关于如何松散地做两件事的好资源,但我不知道如何将它完全应用到我的问题中。
我不知道正则表达式的界限,但我想可以在不使用Split的情况下做到这一点?我对Regex没有多少经验,语法对我来说真的很混乱。
我在伪代码中想的是:
String.replaceAll("Sam = ?*\n", "Sam = 83\n");
答案 0 :(得分:0)
我认为你可以这样做:
String names = "Joe = 544\nSam = 43\nJenny = 126";
names = names.replaceAll("(?<=^|\\n)Sam = \\d+", "Sam = 83");
当Sam =
之前的内容是换行符或字符串的开头时(对于Sam可能首先出现的情况),这会替换Sam
后跟一些数字)。
答案 1 :(得分:0)
这将为Sam添加新值。
text.replaceAll("Sam = .*\n", "Sam = 123\n");
正则表达式解释:。*匹配在&#39; Sam =&#39;之后出现的任何字符。并将它们包含在匹配中,然后替换以&#39; Sam = ...&#39;开头的整个字符串。