【问题标题】:Regex exp to change every letter after the literal dot [.] to lower case正则表达式 exp 将文字点 [.] 之后的每个字母更改为小写
【发布时间】:2019-06-16 06:08:47
【问题描述】:

任何人都可以帮助我可以在节点中运行的正则表达式来更改仅将点(。)之后出现的字母更改为小写吗?我正在读取并将更改的文本写回同一个文本文件。

输入:

$.Carpool[0].NoofSeats], [$.Carpool[1].NoofSeats]

所以用正则表达式替换后更新的文本文件应该是:

期望的输出:

[$.carpool[0].noOfSeats], [$.carpool[1].noOfSeats]

【问题讨论】:

    标签: javascript node.js regex expression node-modules


    【解决方案1】:

    点后跟大写字母可以匹配\.[A-Z]

    要将其转换为小写,您可以这样做

    str = str.replace(/\.[A-Z]/g, (m0) => m0.toLowerCase());
    

    【讨论】:

    • 很好的解决方案!只需稍加改进,您就可以将 (m0) => m0.toLowerCase() 替换为 m0 => m0.toLowerCase() 以使其更易于阅读。
    • ok @melpomene 最后这只是样式问题,样式是主观的。
    • @melpomene 重新发布问题 - 我有两个文件夹,输入和输出文件夹,其中包含许多上述格式的文本文件。如何从输入文件夹中读取所有文件运行正则表达式并将所有更新的文件写入另一个输出文件夹?我正在使用 nodejs。我必须从目录中读取所有文件。
    【解决方案2】:

    这些表达式可以在这里简单地工作:

    \.([A-Za-z])
    \.([A-Z])
    

    \.\L$1 替换,\L\U 在 JavaScript 中可能不支持/不可用,取而代之的是,我们只需应用 .toLowerCase(); 函数。

    Demo

    【讨论】:

    • melpomene 和 Emma 您的两个解决方案都有效。谢谢。
    • 现在我有两个文件夹,输入和输出文件夹,其中包含许多上述格式的文本文件。如何从输入文件夹中读取所有文件运行正则表达式并将所有更新的文件写入输出文件夹。我正在使用 nodejs。
    • 感谢分享帖子艾玛。该帖子用于从目录中仅读取一个文件。我想读取文件夹中的所有文件并为输出目录中的所有文件提供输出。
    猜你喜欢
    • 1970-01-01
    • 2012-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-15
    • 1970-01-01
    • 2023-03-30
    相关资源
    最近更新 更多