问题标签 [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 投票
6 回答
7633 浏览

xslt - 为什么我的 XSLT 变量没有替换它们的值?

我正在尝试使用 XSLT 变量并且没有取得多大成功,希望我只是在做一些愚蠢的事情。

我有以下代码片段:

所以我希望有一个变量'config'设置为我的顶级元素'query'的'config'属性的值。

然后,我稍后尝试在样式表中使用该变量,例如:

但我在输出 HTML 文档中看到的输出是:

所以这个值没有像我预期的那样被替换。

我认为这几乎是最简单的情况,所以我在做傻事!请帮忙,谢谢!


更新感谢所有回复的人,我误解了我是在属性中还是在属性之外工作的不同背景。很好地解决了我的问题!

如果可以的话,我会接受两个答案,一个是我的答案,另一个是 @Aaron Digulla 的,它解释了属性问题。

0 投票
2 回答
10580 浏览

replace - 用 Vim 文件中其他地方的寄存器或行范围的内容替换

我正在使用 Vim,我想用一个长字符串替换一些占位符文本,该字符串跨越几行,已经写在文件的其他地方。

是否可以用寄存器的内容替换模式?就像是

否则,是否可以用一系列行替换?就像是

0 投票
5 回答
27797 浏览

sql - 对于在单个语句中多次出现的替换变量,如何使 SQL Developer/SQL+ 只提示一次?

我有一个大致这样的查询:

但是当我运行它时,SQL Developer 两次提示我输入变量,即使它是同一个变量。

如果有办法让它只提示一次使用两次的变量,我该怎么做?

不想使用脚本,它必须是单个可执行查询。

0 投票
3 回答
13853 浏览

regex - 如何有效地处理同一字符串上的多个 Perl 搜索/替换操作?

所以我的 Perl 脚本基本上接受一个字符串,然后尝试通过对其进行多次搜索和替换来清理它,如下所示:

如您所见,我正在处理令人讨厌的 html,并且必须击败它才能提交。

我希望有一种更简单、更美观的方式来做到这一点。我有大约 50 行看起来就像上面的一样。

我已经通过使用哈希解决了这个问题的一个版本,其中键是注释,哈希是 reg 表达式,如下所示:

这就是我使用它的方式:

当我尝试一个哈希值时,问题就出现了,其中键是表达式,它指向我想要替换它的内容......并且里面有一个 $1 或 $2。

上面就是这样做的:

但我似乎无法将“$1”部分逐字传递到正则表达式中(我认为这是正确的词......即使我使用了 ' 标记,似乎 $1 正在被解释。)所以这导致:

那是行不通的。

所以2个问题:

简单:如何以易于编辑的方式处理大量正则表达式,以便我可以更改和添加它们,而无需剪切和粘贴之前的行?

更难:我如何使用散列(或数组,如果我想包含多个部分,例如 1)要搜索的部分,2)替换 3)注释,4)全局/不区分大小写的修饰符),如果这实际上是最简单的方法吗?

谢谢你的帮助 -

0 投票
3 回答
973 浏览

vim - 用 sed 或 awk 枚举替换

给定带有行的纯文本文件

sed 或 awk 魔法将其转换为什么

这样每次出现的 'foo' 都会被 'foo_[occurence number]' 替换。

0 投票
3 回答
7941 浏览

perl - Perl:遍历文件并替换

我只是想读入一个日志文件,进行搜索和替换,然后将更改写出到同一个日志文件中。

在 Perl 中执行此操作的最佳实践方式是什么?

0 投票
2 回答
1341 浏览

regex - Vim用另一个相同长度的单词列表替换单词列表?

我需要用同样长的单词列表替换单词列表。

所以例如你有:“a”,“b”,“c”,“d”,“e”,“f”

你想用每个单词的大写版本替换每个单词:“A”,“B”,“C”,“D”,“E”,“F”

我知道如何使用正则表达式查找每个字符串: (a\|b\|c\|d\|e\|f)

我知道您可以对每个单词进行全局替换。但是,当单词的长度变大时,这种方法会变得笨拙和不雅。

有没有办法以某种方式进行全局替换?如同:

我不确定这是否可能。

0 投票
6 回答
734 浏览

regex - 如何在 Perl 替换中替换匹配之前的所有文本?

我正在读取输入文件 (IN) 的每一行并将读取的行打印到输出文件 (OUT) 如果该行以其中一种模式开头,例如“ab”、“cd”、“ef”、“gh” ”ij”等。打印的行格式为“pattern: 100”或格式“pattern: 100:200”。我需要将“pattern”替换为“myPattern”,即将当前行打印到FILE,但将第一次出现“:”之前的所有文本替换为“myPattern”。做这个的最好方式是什么?

目前我有:

我不确定 substr 替换是否会有所帮助,因为“模式”可以是“ab”或“cd”或“ef”或“gh”等。

谢谢!双

0 投票
4 回答
179 浏览

perl - 如何使用“s///”运算符来更改值的数量?

我有一个文件,其中包含:

我只需要将该文件中的值 (1,2,8...) 替换为内存哈希值的一部分,即具有相同键的值 (foo1 -> 33,foo2 -> 44,foo3...)如何使用“s///”运算符更改它?如果有其他优雅的方式来进行,我会很高兴知道。

谢谢你的帮助,

约哈德。

0 投票
1 回答
891 浏览

regex - 将 Pascal 大小写的 setter 转换为下划线分隔的变量名

这并不像看起来那么简单。你们中的大多数人可能会想到/([A-Z])/_$1/我在互联网上找到的正则表达式,但我的特殊情况稍微复杂一些。我的源字符串包含更多我不想在我的部分之前转换的内容。

考虑一个常规的二传手:

当然,这个方法缺少一个参数。也许我有很多这样的方法。我想将该行转换为

这是一件很容易考虑的事情,但不像我深入思考那么简单。它类似于此线程中的 Andreas_D ,但增加了尝试迭代修改变量名的挑战......

使用正则表达式可能会很明显,但我对它们还是很陌生。无论哪种方式,我在搜索的任何地方都找不到解决这个问题的好方法。

编辑:当然,我意识到“公共职能”中没有大写字母可以保证安全。但是,此搜索和替换将针对代码块运行,我想确保我修改的字符串以“公共函数”开头。