我想将每行中的第二个正斜杠更改为逗号。
我找到了各种帖子,并设法从他们那里得到了一种方法,但它没有按照我的意愿去做。
Initial attempt - 我认为我需要更换2个分隔符
1st "Replace 2nd occurrence" - 发现这篇文章似乎更容易了。
2nd "Replace 2nd occurrence" - 在这里使用正则表达式作为我的基础。
我在做什么;
查找:
^(.*?)\/(.*?)\/
替换:
$&,
导致更改我的数据;
042146/OVERNIGHT/HSSC825571,started,14/07/2016,00:00:56,V0700LWHSB
042146/OVERNIGHT/HSSC825571,ended,14/07/2016,00:00:56,
042147/OVERNIGHT/HSSC825571,started,14/07/2016,00:00:58,V0700LWHSB
042147/OVERNIGHT/HSSC825571,ended,14/07/2016,00:00:58,
要;
042146/OVERNIGHT/,HSSC825571,started,14/07/2016,00:00:56,V0700LWHSB
042146/OVERNIGHT/,HSSC825571,ended,14/07/2016,00:00:56,
042147/OVERNIGHT/,HSSC825571,started,14/07/2016,00:00:58,V0700LWHSB
042147/OVERNIGHT/,HSSC825571,ended,14/07/2016,00:00:58,
有没有办法只更换第二个/?
我的数据的一组示例是;
042146/OVERNIGHT/HSSC825571,started,14/07/2016,00:00:56,V0700LWHSB
042146/OVERNIGHT/HSSC825571,ended,14/07/2016,00:00:56,
042147/OVERNIGHT/HSSC825571,started,14/07/2016,00:00:58,V0700LWHSB
042147/OVERNIGHT/HSSC825571,ended,14/07/2016,00:00:58,
042154/TEMP56/QPADEV000M,started,14/07/2016,00:01:02,V0700LRFIN
042154/TEMP56/QPADEV000M,ended,14/07/2016,00:07:12,
042155/JMALICKA/QPADEV000N,started,14/07/2016,00:01:05,V0700LRFIN
042155/JMALICKA/QPADEV000N,ended,14/07/2016,00:06:53,
042156/DG8SVCPRF/DG8SVC,started,14/07/2016,00:01:15,DATAGATE
042156/DG8SVCPRF/DG8SVC,ended,14/07/2016,00:12:01,
042157/OVERNIGHT/RCPTDISCRP,started,14/07/2016,00:01:42,V0700LBATC
042157/OVERNIGHT/RCPTDISCRP,ended,14/07/2016,00:01:44,
042158/QTCP/QTSMTPCLTP,started,14/07/2016,00:01:53,QSYSWRK
042158/QTCP/QTSMTPCLTP,ended,14/07/2016,01:29:08,
042159/QTCP/QTSMTPCLTP,started,14/07/2016,00:01:53,QSYSWRK
042159/QTCP/QTSMTPCLTP,ended,14/07/2016,00:19:05,
答案 0 :(得分:2)
^([^/]+/[^/]+)/
$1,
这将用逗号替换每行的第二个斜杠。
答案 1 :(得分:1)
你快到了。您只需要使用以下内容更改替换字符串:
$1/$2,
你的正则表达式是:^(.*?)\/(.*?)\/
在Notepad ++的替换字符串中,美元符号用于表示正则表达式中括号括起来的组。
$1
指的是第一个组,(.*?)
位于该行的开头,由^
字符指定。$2
指的是第二组,也是(.*?)
,但它位于第一个/
之后。由于您不想替换第一个斜杠,因此在替换字符串的开头需要$1/$2
。但是,由于第二组之后是另一个/
(第二个在线),您需要将其替换为,
。这就是替换字符串必须是$1/$2,
的原因。请注意,()
所包含的所有字符都需要在替换字符串中重写。否则,它们只是被省略(尝试替换字符串$1$2
,你会明白我的意思。)
在其他编辑器或编程语言中,有时会使用$
(有时加倍)代替\
符号来引用括号组。因此,您可以将\\1/\\2,
或\1/\2,
作为替换字符串而不是$1/$2,
。