我希望有人能帮忙。
-
我需要更改包含以下内容的任何行中的符号:
,但仅限于以以下内容开头的行<name>
例如
<name>CT Special Forces 2 - Back in the Trenches</name>
将更改为:
<name>CT Special Forces 2: Back in the Trenches</name>
我知道我可以在 TextWrangler 中使用标准查找和替换,但是有多行相同的文本,所以我只想更改以 符号开头的每一行,<name>
同时-
保留:
其余文本?
最好删除-
符号前的 [空格],这样冒号就会移动到单词末尾,就像我上面的例子一样!
使用 TextWrangler 可以实现这一点吗?如果不行,有人可以推荐其他可以实现这一功能的软件吗?
答案1
以下是使用 Notepad++ 的解决方案:
- Ctrl+H
- 找什么:
<name>(?:(?!</name>).)*?\K\h+-
- 用。。。来代替:
:
- 查看 相符
- 查看 环绕
- 查看 正则表达式
- 取消选中
. matches newline
- Replace all
解释:
<name> # opening tag
(?: # non capture group
(?!</name>) # negative lookahead, make sure we haven't a closing tag after
. # any character
)*? # end group, may appear 0 or more times, not greedy
\K # reset operator, forget all we have seen until this position
\h+ # 1 or more horizontal spaces
- # a hyphen
屏幕截图(之前):
屏幕截图(之后):