问题标签 [substitution]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
13121 浏览

sed - 多个替换的单个 sed 命令?

我使用sed替换文件中的文本。我想给 sed 一个文件,其中包含要在给定文件中搜索和替换的所有字符串。

它遍历 .h 和 .cpp 文件。在每个文件中,它会搜索包含在其中的文件名。如果找到,它将例如用“<ah>”(不带引号)替换“ah”。

脚本是这样的:

  • all.txt - 要在其中进行替换的文件列表
  • allFilesWithH.txt - 要搜索的所有包含名称

我不想多次运行 sed(作为 input.txt 中文件名的数量),但我想运行一个 sed 命令并将其作为输入传递 input.txt。

我该怎么做?

PS 我从 VxWorks Development shell 运行 sed,所以它没有 Linux 版本的所有命令。

0 投票
1 回答
2502 浏览

ruby-on-rails - rails - :joins 清理/替换

是否可以为 :joins 指定与 :conditions 类似的参数?

这是一个例子(sql代码无关紧要)

在此示例中,用于 :conditions 的参数将被正确插入,但对于 :joins 我会得到一个错误

什么函数用参数代替:条件?

0 投票
5 回答
458 浏览

regex - 如何使用 Perl 通过正则表达式替换在连续匹配之间散布字符?

以下逗号分隔值行包含几个连续的空字段:

我想用“N/A”值替换这些空字段,这就是为什么我决定通过正则表达式替换来做到这一点。

我首先尝试了这个:

返回

不是我想要的。当出现两个以上的连续逗号时会出现此问题。正则表达式一次吞噬两个逗号,因此它在重新扫描字符串时从第三个逗号而不是第二个逗号开始。

我认为这可能与前瞻与回溯断言有关,所以我尝试了以下正则表达式:

这导致:

那也没有用。它只是将逗号配对移动了一个。

我知道通过相同的正则表达式清洗这个字符串两次就可以了,但这似乎很粗糙。当然,必须有一种方法可以让单个正则表达式替换来完成这项工作。有什么建议么?

最终字符串应如下所示:

0 投票
4 回答
240 浏览

performance - 在 Perl 中使用 s/// 替换匹配的字符串是 $1 还是 $& 更快?

其中哪一个更便宜?

0 投票
3 回答
1444 浏览

vim - VIM 替换:使用当前行作为搜索字符串

假设如下文本文件,实际上是资金和价格统计的数据转储:

我想要实现的是删除PBCPDF除第一个之外的所有实例,我可以将替换命令编写为:.+1,$s/PBCPDF\n//g.

但是,由于我想编写一个宏来处理多个基金名称,所以我需要一种方法来使用某种模式来检索当前行作为搜索模式,而无需我手动进行。

有没有办法做到这一点?

0 投票
1 回答
614 浏览

windows - Windows Shell 脚本:无法在子例程中进行字符串替换

尊敬的专家您好!

您能否建议我如何处理该问题:

此代码在屏幕上回显,而不是写入“ExtractedLinks.txt”。这里有什么问题?

0 投票
2 回答
796 浏览

c# - 有没有办法从替换控件中访问当前会话?

一旦页面被缓存输出,看起来 asp:net 替换控制方法的上下文参数缺少当前会话。

除了通过 ajax 获取替换控件的内容或使用其他方法来存储原本会在会话中的数据(如数据库)之外,我还能做些什么吗?

是否有在替换控制中使用本机 asp.net 会话的解决方法?

[1] --- 页面缓存后conext.session为空

0 投票
2 回答
148 浏览

shell - Shell 给多个参数起别名

有没有一种好方法可以为命令别名进行多次替换?

例如

像这样的东西。。

实际上,像这样管道输出并没有任何意义,但我希望看到类似的语法。

拥有命名映射也很好,但只有索引就可以了。

也许使用awk?

0 投票
2 回答
10490 浏览

java - Log4J – 运行时变量替换

Log4J似乎有一个烦人的限制——在运行时,变量替换似乎不起作用。

在这个例子中

文件:Log4j.properties

文件模式=%d{ISO8601} %-5p %m%n

log4j.rootLogger=调试,FileAppender

log4j.appender.FileAppender=org.apache.log4j.FileAppender log4j.appender.FileAppender.layout=org.apache.log4j.PatternLayout log4j.appender.FileAppender.layout.ConversionPattern=${file_pattern} log4j.appender.FileAppender.File= log4jtest1.log

log4j.appender.FileAppender.Threshold=错误

log4j.properties 文件中配置的 FileAppender 产生正确的输出:

文件:log4jtest1.log

ERROR 示例错误消息 FATAL 示例致命消息

如果我尝试在运行时创建 FileAppender

输出为

文件:log4jtest2.log

${file_pattern}${file_pattern}

谁能解释问题是什么以及如何解决?

相关问题:应用程序可以访问 ResourceBundle 以读取要替换的变量吗?

0 投票
5 回答
2810 浏览

vim - 如何从 VIM 中的字符串列表中替换?

我是 vim 用户,我希望在替换时能够循环一系列子字符串。我如何使用一些 vim 魔法从这样的一组行中走出来:

?

我想从头开始搜索我的文件以查找下一次出现的foo,并将前两个实例替换为 ,将后两个实例替换barbaz。使用 for 循环是最好的选择吗?如果是这样,那么如何在替换命令中使用循环变量?