【问题标题】:.INI Files - Change Strings Only - (Notepad++ Regex Replace).INI 文件 - 仅更改字符串 -(Notepad++ 正则表达式替换)
【发布时间】:2017-10-24 02:49:18
【问题描述】:

我有大约 100 个 .ini 文件要修改。我只需要更改字符串值周围的“(双引号)的数量。例如:

变化:

[GROUP]
AnyWord1="StR1Ng?!,''.-<br/>"
AnyWord2="["Don''t change these quotes either",13401.8,0]"
AnyWord3="42"
AnyWord4="Another String"
AnyWord5="Another String"

进入:

[GROUP]
AnyWord1=""StR1Ng?!,''.-<br/>""
AnyWord2="["Don''t change these quotes either",13401.8,0]"
AnyWord3="42"
AnyWord4=""Another String""
AnyWord5=""Another String""

我认为这可以用 Notepad++ 替换为 RegEx,但我无法让它工作。

到目前为止,我有这个,它将选择所需的行,只要没有以数字开头的字符串:

^([a-zA-Z0-9])+(=)(")([^(0-9)[])([^"]*)(")

【问题讨论】:

  • 你怎么知道不要管 AnyWord2?
  • 嗨,我已经用我正在使用的工具做了一些测试,由于某种原因,它对这两个字符串的看法不同。
  • 欢迎来到 Stack Overflow。这不是代码或正则表达式编写服务。我们很乐意尝试并提供帮助,但我们希望您首先自己解决问题。您在编写正则表达式来满足您的要求时做了哪些努力,以及它如何没有按您的预期工作?您如何期望正则表达式区分您想要删除的和不想删除的? (并且我已经测试过,当我删除这个集合时工具不喜欢它对正在执行的正则表达式没有用;你需要为我们做得比这更好。)
  • @MWK“出于某种原因”实际上并没有帮助。
  • 这是我正在为其构建 .INI 文件的工具:forums.bistudio.com/forums/topic/… 它们仅用作文本文件。我没有看到它是如何相关的抱歉。该工具适用于视频游戏。一旦确定了变量类型,该工具就会像游戏一样处理数组。游戏只需要单双引号,而工具开发者选择用 2 个双引号读取字符串。

标签: regex string replace notepad++ ini


【解决方案1】:

查找:

^(?<varname>([a-zA-Z0-9])+)(=)(")(?<val>([^(0-9)[])([^"\r\n]*))(")

替换为:

$+{varname}=""$+{val}""

所有字符串都不能以数字开头。

【讨论】:

    猜你喜欢
    • 2015-09-28
    • 1970-01-01
    • 1970-01-01
    • 2012-04-01
    • 1970-01-01
    • 2012-01-25
    • 2018-07-13
    • 2014-06-26
    • 2014-06-04
    相关资源
    最近更新 更多