问题标签 [string-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 回答
2756 浏览

linux - 如何在 Bash 脚本中用转义版本替换特殊字符

我发誓我已经看了又看。如果我在某个地方错过了这个问题的答案,我深表歉意;这意味着我的搜索失败了,而不是我没有尝试过。

我对 bash 脚本比较陌生(:sigh: newbie),但我正在尝试编写一个从用户那里获取一些输入并在另一个命令中使用它的脚本。我的问题是其他命令需要在用户输入中转义任何特殊字符。

代码的基本形式如下:

readothercommand行之间,我需要进行按摩_INFO,以便任何特殊字符 - 空格、单引号和双引号......几乎所有非字母数字字符,真的 - 都被转义。例如,一个输入this pipe: | is my info!应该变成this\ pipe\:\ \|\ is\ my\ info\!

注意:我不能将引号 - 单引号或双引号 - 放入该othercommand行,因为它会导致命令失败。信息字符串需要保持原样,除了转义。

我尝试过以各种方式使用字符串替换宏(这里有一些只检查空格的例子):

但我不断收到“错误替换”错误。

因此,这不仅过于具体(仅处理空格)而且无论如何都不起作用。我该怎么做呢?

如果我必须使用sedawk其他非 bash 脚本处理原生的东西,我宁愿得到我需要使用的确切行,因为我完全不熟悉它们。(:叹息:新手)

0 投票
2 回答
260 浏览

python - Python 正则表达式:替换为组

有没有办法对组进行替换?

假设我正在尝试根据自定义格式将链接插入文本。所以,鉴于这样的事情:

我想结束

我知道这'\[\[(.*?)\]\]'会将方括号内的内容匹配为组 1,但是我想在组 1 上进行另一个替换,以便我可以用_.

这在单个re.sub正则表达式中可行吗?

0 投票
1 回答
113 浏览

r - 根据每个字符串的前两个数字,用第二个列表替换字符串列表

我有一个命名的字符串列表:

我想用字符串名称替换下一个对象中的名称,但不是 1-to-1 :

我想要这样的东西:

我手动更改的地方

我需要根据前 2 位数字将每个字符串的名称替换为第二个 list 的元素。我尝试了一个 lapply 函数,但我没有管理,我也尝试创建一个涉及sub和替换的函数,但我看不到任何变化,下面是代码:

使用这个函数,我尝试获取第一个参数的所有属性名称,并用它所暗示的元素替换它们。但它返回的结果与我之前的相同,没有任何警告或错误消息。我敢肯定一定有一个简单的方法来做到这一点,但我没有找到正确的


编辑:nr.genes 可以创建如下

和nr.genes。名字由

关于匹配我需要那个Nr11 <-"up.p33-dw.p33",但是Nr21<-"<nr.genes.names[5]>",然后Nr22<-"<nr.genes.names[6]>",Nr23<-"<nr.genes.names[7]>"然后 Nr24<-"",然后Nr31 <-"<nr.genes.names[9]>"

0 投票
2 回答
2217 浏览

bash - 使用替换和变量重命名文件和目录

我发现了几个有解决方案的类似问题,除了它们不涉及变量。

我在文件和目录树中有一个特定的模式 - 模式是单词 TEMPLATE。我想要一个脚本文件通过将单词 TEMPLATE 替换为变量 ${newName} 中包含的其他名称来重命名所有文件和目录

如果我知道 ${newName} 的值是“弗雷德住在这里”,那么命令

会做这项工作

但是,如果我的脚本是:

然后单词 TEMPLATE 被替换为 null 而不是“Fred 住在这里”

我需要 $0 左右的 "" 因为路径名中有空格,所以我不能做类似的事情:

谁能帮我让这个脚本工作,以便所有包含单词 TEMPLATE 的文件和目录都将 TEMPLATE 替换为任何${newName}

例如,如果newName="A different name"我有一个目录

/foo/bar/some TEMPLATE directory/with files然后目录将被重命名为

/foo/bar/some A different name directory/with files

并且一个名为的文件some TEMPLATE file将被重命名为

some A different name file

0 投票
2 回答
275 浏览

regex - 在R中更改字符串中的数字?

我有一个问题,我希望有任何关于如何使用 R 的想法。问题是:我存储了一个乳胶表。表中数字均配备小数点后三位。我想把这些数字剪掉,把其他数字留在桌子上。(想想代表估计结果的数字,但维度是“美元”。那么,145.553 的值没有多大意义,145 就足够了)。创建这些表格的人并没有考虑太多,所以我在这里尽量避免用手穿过表格。:)

到目前为止,我只找到了如何从字符串中提取数字的不同解决方案,而不是如何更改它们以使字符串本身保持不变。

例子:

解决方案应该返回

当然,如果可以正确地进行舍入,那就更好了。但这并不是最重要的。

我尝试使用gsubwith\\....来识别包含句点后跟其他三个数字的字符串,但这也为我提供了变量名称,a.name在我的示例中。

有谁知道我怎样才能完成我想做的事情?

提前致谢!

0 投票
2 回答
317 浏览

r - 在 R 中使用 gsub 在子字符串周围插入点

我想在 R 中有一个函数,如果它们不存在,则在给定的子字符串(例如“alpha”)周围插入点(“。”)。例如 string="10-alpha-epoxy-Amorph-4-ene"应该返回

string="alpha-cadolene"应该返回

string=".alpha.-cadolene"应该返回

(子字符串可能出现多次)

在 R 中使用 gsub 完成此任务的最简单方法是什么?

干杯,汤姆

0 投票
2 回答
83 浏览

ruby - 如何在Ruby中替换二维数组中的所有值

我有一个看起来像这样的二维数组:

我希望我可以用“真”(字符串)替换所有真(布尔)值,用“假”替换所有

0 投票
4 回答
150 浏览

python - Conditionals on replacement in a string

So I may have a string 'Bank of China', or 'Embassy of China', and 'International China'

I want to replace all country instances except when we have an 'of ' or 'of the '

Clearly this can be done by iterating through a list of countries, checking if the name contains a country, then checking if before the country 'of ' or 'of the ' exists.

If these do exist then we do not remove the country, else we do remove country. The examples will become:

'Bank of China', or 'Embassy of China', and 'International'

However iteration can be slow, particularly when you have a large list of countries and a large lists of texts for replacement.

Is there a faster and more conditionally based way of replacing the string? So that I can still use a simple pattern match using the Python re library?

My function is along these lines:

EDIT: I did find some info here. This does describe how to do an if, but I really want a if not 'of ' if not 'of the ' then replace...

0 投票
1 回答
154 浏览

c++ - 将字符串中的某个字母设置为等于 int + ","

我目前正在编写一个函数,用相应的数字加上“,”替换一行中的字母。我目前的代码是:

(toUpper 是我自己的函数)。我不太确定如何将字符串中的当前字母分配给数字+逗号。起初我尝试只为特定字母分配一个数字,但我意识到我需要一个分隔符,所以我决定使用逗号。

0 投票
1 回答
116 浏览

regex - 使用 Regex 在 Perl 中替换或替换

我不确定我在这里做错了什么。为什么正则表达式块不匹配并且没有发生替换。请帮忙。

打印 $x 打印相同的值。请帮忙。