我从 IEEE 获得的文本如下:
Spinellis, Diomidis, "The Strategic Importance of Release Engineering," Software, IEEE , vol.32, no.2, pp.3,5, Mar.-Apr. 2015
URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7057563&isnumber=7057030
Pautasso, Cesare; Zimmermann, Olaf, "Seeking Your Insights," Software, IEEE , vol.32, no.2, pp.7,9, Mar.-Apr. 2015
URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7057623&isnumber=7057030
Holzmann, G.J., "Code Inflation," Software, IEEE , vol.32, no.2, pp.10,13, Mar.-Apr. 2015
URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7057573&isnumber=7057030
Cleland-Huang, J., "Injecting Value-Thinking into Prioritization Decisions," Software, IEEE , vol.32, no.2, pp.14,18, Mar.-Apr. 2015
URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7057568&isnumber=7057030
我想删除第二个“,”之后的所有内容,并将第一个“,”替换为-,以便它看起来应该如下所示:
Spinellis, Diomidis - The Strategic Importance of Release Engineering
URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7057563&isnumber=7057030
Pautasso, Cesare; Zimmermann, Olaf - Seeking Your Insights
URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7057623&isnumber=7057030
Holzmann, G.J. - Code Inflation
URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7057573&isnumber=7057030
Cleland-Huang, J. - Injecting Value-Thinking into Prioritization Decisions
URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7057568&isnumber=7057030
有可能实现这个吗?
谢谢。
答案1
请注意,如果每一行都有引号,那么引号就会在一行上,因此在匹配是否应该匹配新行方面不会出现太大错误。
这样做
每行匹配“.....” (含)。捕获 (...)
为了匹配包括引号在内的引号,
寻找"([^"]*)"
用。。。来代替-\1"
注意对话框中“正则表达式”是被勾选的。
查找部分,圆括号捕获。(您可以说圆括号 -http://en.wikipedia.org/wiki/Bracket 虽然在美国他们不这么称呼,但意思很清楚)
"[^"]*"
<-- 匹配所有内容"..."
,包括引号。但您只想保留/捕获其中的一部分,因为您不想保留开头的引号。因此,查找部分可以包含"([^"]*")
或仅包含引号内的部分,因此"([^"]*)"
在替换部分中,圆括号内的部分可以称为 \1 并且您想要-\1"
这是之后的屏幕截图(单击“全部替换”后)。首先输入“查找”部分,如果需要,您也可以输入替换部分。继续单击“查找下一个”查看它循环。然后您就知道查找部分没问题,确保替换部分已按您的需要填写,然后单击“全部替换”。
编辑
我刚注意到你想在结束后删除所有内容。
你可以用两个正则表达式来完成。但是如果要用一个正则表达式来完成,你可以匹配所有项(包括要删除的内容),然后只捕获你想要的内容
如果您发现与[^"]
新行匹配,则可以将其调整为 [^"\r\n]
这个例子可能不是最好的方法,但它有效
查找:([^"\r\n]*)"([^"\r\n]*),".*\r\n
替换:\1-\2\r\n
因此,您可以在图片中看到它应用于第一个,您可以单击“全部替换”并将其应用于所有。
您可以随时撤消并进行实验,例如应用于一行,撤消,看看它是您想要的,然后“全部替换”
您可以轻松地在替换部分中的 hiphen/dash 周围添加任何空格
答案2
手动解决方法如下:
查找 {,"}; shift+ end;del对于每一行
然后查找 {, "}; 全部替换为 { - }
或者反过来,无论你喜欢哪种顺序。