使用Notepad++的正则表达式在大写字母前添加空格

13
我在网上找到了很多好的答案,但是在notepad++中没有一个适用的,大多数都是针对Java和PHP的。我找到了下面的搜索字符串,但显然我不太懂正则表达式,因为我不知道在notepad++中应该使用哪些开/闭标签。
我想在每个大写字母前添加一个空格。
例如:
StackOverflowKegger 变成
Stack Overflow Kegger 这是我找到的:
查找:[a-z]+[A-Z]+ 替换:$1($前有一个空格)
查找:
(?<!^)((?<![:upper:])[:upper:]|[:upper:](?![:upper:]))

("(\\p{Ll})(\\p{Lu})","$1 $2")

(?!^)(?=[A-Z])

非常感谢您的帮助。

5个回答

25

搜索字符串: (.)([A-Z])
替换为: \1 \2

这不会在它们所在行的第一个字母是大写字母时在它们前面插入空格。


2
由于Notepad++不支持正则表达式的负回顾,我想这个解决方案已经是最好的了。 - Mikulas Dite
13
请记得在Notepad++中勾选“Match case”,以使正则表达式区分大小写。 - iDifferent
3
一定要记得在Notepad++中勾选“匹配大小写”,以使正则表达式区分大小写。就像@iDifferent所说的那样。 - Don Rolling

2
在Notepad++中,进行搜索和替换(ctrl+h),在“查找内容”中输入“([a-z])([A-Z])”,不包括单引号。在“替换为”中输入“\1 \2”,不包括引号。
选择“正则表达式”单选按钮,并确保选中“匹配大小写”复选框。现在查找下一个并继续替换。它将把驼峰或帕斯卡字符串转换为在每个大写字母之前带有空格的单词,除了第一个字母。
希望这对你有所帮助。我刚刚在我的任务中使用了它。

1

查找内容:.\K([A-Z])
替换为: $1$1之前加上一个空格 注意!!!!必须检查匹配大小写,请参见附图。

enter image description here


0

查找:^([A-Z])

替换:\1

这将在Notepad++中的第一个大写字母前添加一个空格。请确保在替换部分的\1之前放置空格。

WABET: <-来自 WABET: <-到达


0
如果您可以接受在第一个单词前有一个空格,那么这个解决方案对我很有效。
我使用了以下正则表达式,并选中了“正则表达式”单选按钮:
查找内容:([A-Z]) 替换为: \1 请注意,在替换中的\1之前有一个前导空格。

enter image description here


这将在字符串的第一个字符之前添加一个空格,这是不需要的。 - Toto
好的,这是个好观点。对我来说不是问题,因为我之后可以修剪掉它。我会更新我的答案并包含这个警告。 - Dib

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接