Каким должно быть регулярное выражение для замены только двух кавычек? - PullRequest
0 голосов
/ 05 октября 2018
<element>
  <Argument Name="AWSAccessKeyId" Value="APOEIUVWIE8E78E6"></Argument>
  <Argument Name="SearchIndex" Value="Apparel"></Argument>
  <LegalDisclaimer>Leriya Fashion products,on amazon.in."Leriya Fashion" in search.</LegalDisclaimer>
</element>

Я хочу заменить только кавычки в этом слове ("Leriya Fashion"). Я пробовал много регулярных выражений, но они заменяют все кавычки. Прямо сейчас мы знаем это слово, но что, если мы не знаемфактическое слово.

  1. "|[a-z]$$|"$
  2. "|"+\s

Я хочу заменить его пробелом или пробелом.И главная проблема возникает, когда мы конвертируем этот xml в json.Поскольку json принимает эту двойную кавычку в качестве значения, но на самом деле это не значение, а просто имя, заключенное в двойные кавычки. Поэтому для меня очень сложно заменить эту кавычку пустой в json, поэтому я пытаюсь заменить ее в XML-файле..

Ответы [ 3 ]

0 голосов
/ 05 октября 2018

Если это только "Leriya Fashion", то почему бы просто не использовать String::replace

str = str.replace("\"Leriya Fashion\"", "Leriya Fashion");

Я предполагаю, что вы просто хотите удалить кавычки.

0 голосов
/ 05 октября 2018

Lambda replaceAll

str = Pattern.compile("(.)\"([^\"\r\n]*\"").matcher(str)
    .replaceAll(mr -> mr.group(1).equals("=") ? mr.group()
                      : mr.group(1) + mr.group(2));

Это заменит все цитаты из любого текста "..." из не-HTML-атрибутов (="...").Опасное предположение состоит в том, что кавычки появляются только в парах.

0 голосов
/ 05 октября 2018

Попробуйте это

Найдите в режиме регулярных выражений

[ ]+(")+[A-z ]+(")+[ ]

и замените его на

[ ]+[A-z ]+[ ]

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...