как игнорировать значение в тексте? - PullRequest
0 голосов
/ 09 ноября 2011

У меня есть такая строка:

EQ=ENABLED,QLPUB=50,EPRE=ENABLED

как я могу игнорировать значение QLPUB? На самом деле я хочу проверить эту строку в 3000 строк, но я хочу игнорировать 50.

есть ли способ игнорировать это, например, с помощью регулярного выражения Java или% s или ...?

Ответы [ 3 ]

2 голосов
/ 09 ноября 2011

Попробуйте это регулярное выражение:

s = s.replaceAll("(^|,)QLPUB=[^,]*", "");

Посмотрите, как работает онлайн: ideone

1 голос
/ 09 ноября 2011

Вы можете использовать регулярное выражение /^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
}
1 голос
/ 09 ноября 2011

Если значение 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$
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...