问题:我需要修改 .csv 中的数百行以进行导入,导入软件不喜欢名称字段中的空格(但会接受描述字段中的空格),所以我只需要替换每行直到第一个“引号”的空格。
示例行:
West Side Switch 1,33,"Incl...
希望它看起来像:
West-Side-Switch-1,33,"Incl...
我不太熟悉使用正则表达式,所以我认为这是一个很好的学习机会。
答案1
使用 Notepad++,有一种方法可以完成这项工作,它将替换第一个双引号之前的所有空格:
- Ctrl+H
- 找什么:
(?:^|\G)([^"\h]*)\h
- 用。。。来代替:
$1-
- 检查环绕
- 检查正则表达式
- Replace all
解释:
(?: : start non capture group
^ : beginning of line
| : OR
\G : search from the last match position
) : end group
( : start group 1
[^"\h]* : 0 or more character that is not a quote or a horizontal space
) : end group
\h : horizontal space
替代品:
$1 : content of group 1
- : a dash