我需要从文本文件中删除所有字符串,例如:
flickr:user=32jdisffs
flickr:user=acssd
flickr:user=asddsa89
我目前正在使用fields[i] = fields[i].replaceAll(" , flickr:user=.*", "");
然而,这个方法的问题是,flickr:user=
之后的任何单词都会从内容中删除,即使在空格之后也是如此。
感谢
答案 0 :(得分:0)
flickr:user=\w+
应该这样做:
String noFlickerIdsHere = stringWithIds.replaceAll("flickr:user=\\w+", "");
<强>参考:强>
\w
=单词字符:[a-zA-Z_0-9]
答案 1 :(得分:0)
您可能需要
replaceAll("flickr:user=[0-9A-Za-z]+", "");
答案 2 :(得分:0)
按照陈述的问题,你可能想要:
fields[i] = fields[i].replaceAll(" , flickr:user=[^ ]* ", ""); // or " "
这将匹配字符串,包括user
的值,但不包括第一个空格,后跟空格,并将其替换为空字符串或单个空格。 然而这将(除了逗号)使用您显示的输入净空结果。这真的是你想要的吗?
我也不确定开头的" , "
在哪里适合你展示的例子。
你遇到困难的原因是无界.*
将匹配从那一点到输入结束的所有内容(即使这不算什么;这就是*
的用途)。对于基于行的正则表达式解析器,这就是行的末尾。