我在记事本++中有以下几行
'23123 123123
'23123 123123
'23123 123123
'23123 123123
'23123 123123
我想替换为
'23123' 123123
'23123' 123123
'23123' 123123
'23123' 123123
我正在执行以下操作
查找内容:(\d)\s
替换为:$0'
但是它不起作用
答案 0 :(得分:0)
您的正则表达式不起作用,因为(\d)\s
匹配并捕获了一个数字,然后匹配了包括换行符在内的任何垂直或水平空白。替换为整个比赛和一个'
字符。因此,您可以将'
附加到任何会影响第二列末尾数字块的数字+空格序列。
要在行首添加'
到数字块中,您可以使用
^'\d+
并替换为$0'
。
详细信息
^
-行锚的开始'
-单引号\d+
-1个或多个数字。替换是整个匹配值($0
)和一个'
(基本上,我们在每个匹配项后附加'
)。
另一种方法是在数字和水平空格之间插入'
:
(\d)(\h)
,并替换为$1'$2
。它将'
附加到一行上的所有非最终数字块:
详细信息
(\d)
-捕获组1(后来用$1
占位符引用):一个数字(\h)
-捕获组2(后来引用为$2
占位符):水平空白。答案 1 :(得分:0)
如果将正则表达式全部转为\s(\d)
并替换为'$0
,则您的正则表达式将起作用
请注意,在这种情况下,您不需要捕获组,\s\d
也可以使用。
如果必须有一个或多个数字,则示例数据的另一种方法是匹配一个或多个水平空白\h+
,然后是一个或多个数字\d+
,并用{代替{1}}和整个比赛'
查找内容
替换为
$0
答案 2 :(得分:0)
在这种情况下,作为正则表达式的替代方法,Notepad ++允许选择列。单击第一行中的列,然后按 ALT-SHIFT-DOWN ARROW 直到到达底部行。光标将延伸:
然后键入'
,它将在所有行中键入。
答案 3 :(得分:0)
试试我的解决方案如下
搜索:'\d+
替换:$0'