在 Textpad 中如何仅替换字符串的一部分 space
In Textpad how to replace space in only part of a string
我有几个 html 文件(源代码),其中包含大量文本并包含链接到的许多报告文件的代码。
我需要用下划线符号 (_
) 替换文件名中的每个 space (
)。此替换不得影响文本的其余部分。
所有链接都遵循相同的文件夹结构,但文件名除了扩展名 (.pdf) 外都大不相同
例如,我有:
Please find the presentations:
href="/Portals/12/Documents/GE-Project/Amalty-WS/Joanna_POT Pb paint health econ env_RUS.pdf">Presentation 1
我需要:
Please find the presentations:
href="/Portals/12/Documents/GE-Project/Amalty-WS/Joanna_POT_Pb_paint_health_econ_env_RUS.pdf">Presentation 1
在 Windows 中,使用 TEXTPAD,我尝试使用正则表达式 (find/replace) (/Amalty-WS/[a-z,A-Z,0-9,_, ,]*\.pdf
),但不知道如何只替换 space。
您可以使用
(?:\G(?!^)|/Amalty-WS/)[^"\s]*\K\s(?=[^"]*")
替换为_
。
参见regex demo。
详情:
(?:\G(?!^)|/Amalty-WS/)
- 上一个成功匹配的结尾 (\G(?!^)
) 或 /Amalty-WS/
string
[^"\s]*
- "
和空格 以外的零个或多个字符
\K
- 丢弃到目前为止匹配的文本的匹配重置运算符
\s
- 一个空格
(?=[^"]*")
- 后跟 "
以外的零个或多个字符,然后是 "
.
我有几个 html 文件(源代码),其中包含大量文本并包含链接到的许多报告文件的代码。
我需要用下划线符号 (_
) 替换文件名中的每个 space (
)。此替换不得影响文本的其余部分。
所有链接都遵循相同的文件夹结构,但文件名除了扩展名 (.pdf) 外都大不相同
例如,我有:
Please find the presentations:
href="/Portals/12/Documents/GE-Project/Amalty-WS/Joanna_POT Pb paint health econ env_RUS.pdf">Presentation 1
我需要:
Please find the presentations:
href="/Portals/12/Documents/GE-Project/Amalty-WS/Joanna_POT_Pb_paint_health_econ_env_RUS.pdf">Presentation 1
在 Windows 中,使用 TEXTPAD,我尝试使用正则表达式 (find/replace) (/Amalty-WS/[a-z,A-Z,0-9,_, ,]*\.pdf
),但不知道如何只替换 space。
您可以使用
(?:\G(?!^)|/Amalty-WS/)[^"\s]*\K\s(?=[^"]*")
替换为_
。
参见regex demo。
详情:
(?:\G(?!^)|/Amalty-WS/)
- 上一个成功匹配的结尾 (\G(?!^)
) 或/Amalty-WS/
string[^"\s]*
-"
和空格 以外的零个或多个字符
\K
- 丢弃到目前为止匹配的文本的匹配重置运算符\s
- 一个空格(?=[^"]*")
- 后跟"
以外的零个或多个字符,然后是"
.