【问题标题】:Notepad++ switch postions with regexNotepad++ 使用正则表达式切换位置
【发布时间】:2016-09-09 22:14:30
【问题描述】:

您好,我的文字需要帮助,就像这样

Text1|Text2|Text3|Text4|Text5|Text6|Text7|Text8|Text9|Text10

所以文字需要改成这样:

Text8|Text5|Text4|Text9|Text10|Text7

所以更改这些文本的位置并删除文本 1,2,3,6

【问题讨论】:

  • 为每个片段创建捕获组,然后使用$8|$5|$4|$9|$10|$7作为替换字符串。
  • @Shadetheartist 是的,我很懒,只是想在我觉得有人需要做更多研究时给出提示
  • 与其问问题是为了让人们为你做你的工作,不如真正从人们的答案中学习并为自己学习正则表达式?这里不是问零努力问题的地方,我也不认为有这样的地方。
  • 好吧@grands,我很同情你,但你需要明白这不是一个论坛。 Stackoverflow 的答案也旨在供其他人查看。所以答案需要有点笼统。
  • asked this a year ago 所以我不明白为什么这么急。

标签: regex notepad++ word


【解决方案1】:

使用正则表达式,您可以使用capture groups 替换内容。在您的情况下,它可能看起来像

找到

(Text1)\|(Text2)\|(Text3)\|(Text4)

替换

$2|$1|$4|$3

会导致

Text2|Text1|Text4|Text3

因此,只需将此技术应用于较长的字符串,它应该可以正常工作。假设您知道如何对结果排序。

【讨论】:

  • 伙计,你在我的文本中发布了很多行和文本,它们都像文本 1 它们是不同的
  • 我希望你能像这家伙在这里做的那样帮助我stackoverflow.com/questions/39223508/…
  • @grands 你应该在你的问题中指定,我不只是要推断。无论如何,您需要在尝试替换的内容中找到一种模式。否则没有办法用正则表达式来做到这一点。
  • 如果这只是一个文本,我可以手动完成,但还是有很多行,谢谢
  • 我确实找到了:(.+?)\|(.+?)\|(.+?)\|(.+?)\|(.+?)\|(. +?)\|(.+?)\|(.+?)\|(.+?)\|(.+?) 并用这个 $8|$5|$4|$9|$10|$7 替换,我得到 Text8 |Text5|Text4|Text9|Text3|Text7|Text10|Text7Text10|
猜你喜欢
  • 1970-01-01
  • 2012-04-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多