3

Я хочу удалить начальные и конечные теги из названий стран.
В моем примере это теги <li> и <a> .

<li><a href="http://afghanistan.makaan.com/">Afghanistan</a></li>
<li><a href="http://albanie.makaan.com/">Albanie</a></li>
<li><a href="http://algérie.makaan.com/">Algérie</a></li>

Результат должен быть:

Afghanistan
Albanie
Algérie

В Microsoft Word я хочу использовать функцию поиска и замены, чтобы выполнить ее с помощью регулярного выражения.

Как я могу использовать регулярные выражения в MS Word?

4 ответа4

3

Вместо того, чтобы копировать введенный текст в Word, скопируйте его в Notepad++ или любой другой редактор с полной поддержкой RegEx.

Строка RegEx для выбора всего, что находится за пределами тегов, или всего, что находится между знаками > и < .

(?<=>).*?(?=<)

  • (?<=>) это взгляд позади. Он ищет > знаки и действует как якорь. Таким образом, вы можете исключить строку поиска, что важно, так как вы не хотите <Afghanistan
  • .*? ленивый квантификатор и выбирает все до следующего выражения
  • (?=<) - это вид вперед, который ищет знак < но исключает сам искомый знак. Так же, как взгляд позади

Но вы не хотите выбирать названия стран. Вы хотите удалить каждый тег. Вам нужна противоположность первого регулярного выражения. Что-то вроде

<.*?>

  1. Открыть диалог поиска и замены Notepad++
  2. Выберите Использовать регулярные выражения.
  3. Найти то , что: <.*?>
  4. Заменить на: ничего
1

Это легко сделать в MS Word Find and Replace, без Regex, без JavaScript и т.д.

Если вы выберете скобку, она найдет фактический символ скобки. Таким образом, при включенных подстановочных знаках выражение \<*\\> будет находить все в угловых скобках. Просто замените это ничем.

0

Я бы не использовал поиск / замену для этого. Для этой задачи было бы проще всего использовать "Текст в столбцах" в Excel. Для этого выберите столбец, содержащий текст, перейдите на ленту "Данные" и выберите "Текст в столбцы". Вам нужно будет сделать это дважды, один раз, чтобы удалить весь текст перед названием страны (символом с разделителями будет «>» - убедитесь, что вы удалили лишние столбцы, чтобы избежать путаницы), и один раз, чтобы удалить текст после имени (с разделителями). символ будет "<").

0

Это похоже , что это то , что вам нужно.

Учитывая последний комментарий (что вы просто хотите его в javsacript) - я бы посмотрел где-то здесь

если вы хотите это в базе данных SQL, то я, вероятно, просто напишу пару строк perl, чтобы получить список из необработанного javascript. Насколько я могу сказать; Слово MS не входит в это.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .