Я хочу заключить части файлов xhtml в кавычки.Это безымянный диалог истории.Если это диалог, он всегда заканчивается именем в скобках.Итак, я хочу найти все абзацы, содержащие открытые скобки "(", и заключить все между (
и предыдущим <p>
другим символом.
Если строка выглядит так;
<p> sentence (name)</p>
... тогда я хочу заключить все в кавычки (и предыдущий <p>
), чтобы это выглядело так:
<p> "sentence" (name)</p>
Важно, чтобы я оставлял строки в одиночкуэто, поскольку они не являются диалоговыми:
<p> sentence</p>
Я установил основы в powershell, поскольку я использовал это для предыдущей работы над этими файлами, см. ниже, но я не уверен, как заключить содержимое в ""без перезаписи. Вот что я попробовал:
Get-ChildItem 'C:\path\*.xhtml' -Recurse | ForEach {
(Get-Content $_ | ForEach { $_ -replace '\<p\>*\(' , '\<p\>\"*\"\(' }) |
Set-Content $_
}
К сожалению, я, кажется, что-то неправильно понял, так как это изменяет только один из моих файлов, который является единственным выбросом с (сразу после открывающего тега, но игнорирует все остальные строки с круглыми скобками в конце:
<p>(TL: Sorry for a bit of late release)</p>
изменено на:
\<p\>\"*\"\(TL: Sorry for a bit of late release)</p>
, что делает файл xhtml нечитаемым. Я боюсь, что мой подход может быть неправильным, altв целом и хотел бы получить вклад в том, как сделать эту работу.Спасибо за использование вашего времени.