我想在BBedit中重写以下内容。
查找:
<dc:subject>Knowledge, Mashups, Politics, Reviews, Ratings, Ranking, Statistics</dc:subject>替换为:
<dc:subject>Knowledge</dc:subject>
<dc:subject>Mashups</dc:subject>
<dc:subject>Politics</dc:subject>
<dc:subject>Reviews</dc:subject>
<dc:subject>Ratings</dc:subject>
<dc:subject>Ranking</dc:subject>
<dc:subject>Statistics</dc:subject>或
查找:
<dc:subject>Social web, Email, Twitter</dc:subject>替换为:
<dc:subject>Social web</dc:subject>
<dc:subject>Email</dc:subject>
<dc:subject>Twitter</dc:subject>基本上,当有多个类别时,我需要找到逗号和空格,添加换行符,并将打开/关闭括在类别周围。
有什么想法吗?
发布于 2011-05-13 01:25:36
哇。这里有很多复杂的答案。find怎么样:
, (逗号后面有一个空格)
并替换为:
</dc:subject>\r<dc:subject>发布于 2009-09-22 00:34:30
查找:
(.+?),\s?替换:
\1\r替换:
<a href="http://example.com/">\1</a>\r会给你带来
<a href="http://example.com/">Social web</a>
<a href="http://example.com/">Email</a>
<a href="http://example.com/">Twitter</a>或者使用Replace来获得更好的体验:
<a href="http://example.com/tag/\1/">\1</a>\r会给你带来
<a href="http://example.com/tag/Social web/">Social web</a>
<a href="http://example.com/tag/Email/">Email</a>
<a href="http://example.com/tag/Twitter/">Twitter</a>在最后一个示例中,您可能会遇到“Social web”URL中包含空格的问题。我不建议这样做,但我想向您展示,您可以多次使用反向引用。
BBEdit手册中的Grep参考非常棒。转到帮助->用户手册,然后转到第八章。学习如何很好地使用RegEx将改变你的生活。
更新很奇怪,当我第一次看这个的时候,它并没有给我展示你的全部例子。根据我现在看到的,你应该
查找:
(.+?),\s?替换:
<dc:subject>\1</dc:subject>\r发布于 2009-09-22 18:14:15
我不使用BBEdit,但在Vim中您可以这样做:
主题",\t*",“/\=substitute(submatch(0),>\r”,"g")/g
它将处理多行和多个标记,这些行和标记通过换行符跨越内容。它也可以处理具有多个行的行,但不会总是获得结束和开始标记之间的换行。
如果您将这篇文章发布到google group vim_use,并要求一个Vim解决方案和相应的perl版本,您可能会得到一堆建议和一些在BBEdit中工作的建议,然后也可以在perl中的任何编辑器之外工作。
完成
https://stackoverflow.com/questions/1457537
复制相似问题