gpt4 book ai didi

javascript - 仅替换特定单词后的部分文本

转载 作者:行者123 更新时间:2023-12-02 15:26:36 26 4
gpt4 key购买 nike

我们正在尝试使一些文件名在大型 JavaScript 代码库中保持一致。我们希望所有文件名都采用驼峰式大小写,但我们还需要“require”语句采用驼峰式大小写。

所以任何任意的 require 语句都应该像这样改变:

// before
var PurchaseProgressBar = require('src/js/Shared/modules/ProgressBar');
// after - camel cased each part of the path
var PurchaseProgressBar = require('src/js/shared/modules/progressBar');

到目前为止,我们已经有了一个几乎可以工作的 sed 脚本:

sed -e "/require/ s=\b\(.\)=\l\1=g"

但是这会产生:

//  "var PurchaseProgressBar" was also changed! but shouldn't be
var purchaseProgressBar = require('src/js/shared/modules/progressBar');

我们如何使这个 sed 脚本(或其他方法)仅对 require 调用中的文本进行驼峰命名?

最佳答案

如果您想要更改的每个字母都遵循/(即不需要以 Src 或其他内容开头的路径),那么这可以区分您想要更改的行的部分:

sed -e "/require/ s=\/\b\(.\)=/\l\1=g"

这对我来说适用于您的示例输入。

我只是尝试了一种变体,以允许在模式中使用单引号而不是斜杠。如果原始内容包含“require('Src/js/Shared/modules/ProgressBar')”,则此方法有效

sed -e "/require/ s=\(['\/]\)\b\(.\)=\1\l\2=g"

关于javascript - 仅替换特定单词后的部分文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33656033/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com