我有一个这样的字符串:
EQ=ENABLED,QLPUB=50,EPRE=ENABLED
我怎么能忽略QLPUB的价值?实际上我想检查3000行中的这个字符串,但我想忽略50。
有没有办法忽略它,例如使用java正则表达式或%s或......?
答案 0 :(得分:2)
答案 1 :(得分:1)
如果QLPUB的值始终为数字,则可以使用以下正则表达式:
^EQ=ENABLED,QLPUB=\d*,EPRE=ENABLED$
以下是一个例子:
String text = "EQ=ENABLED,QLPUB=502,EPRE=ENABLED";
String pattern = "^EQ=ENABLED,QLPUB=\\d*,EPRE=ENABLED$";
Pattern compiledPattern = Pattern.compile(pattern);
Matcher matcher = compiledPattern.matcher(text);
if(matcher.find()) {
System.out.println(matcher.group());
}
如果QLPUB的值不是,
,则将正则表达式更改为:
^EQ=ENABLED,QLPUB=[^,]*,EPRE=ENABLED$
答案 2 :(得分:1)
您可以使用正则表达式/^EQ=ENABLED,QLPUB=\d+,EPRE=ENABLED$/
。在java中,这将是这样的:
String myString = "EQ=ENABLED,QLPUB=50,EPRE=ENABLED";
if(myString.matches("^EQ=ENABLED,QLPUB=\\d+,EPRE=ENABLED$"))
{
//your string matches regardless of the value of QLPUB
}