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

regex - 替换和正则表达式 perl

您好,我是 perl 和 regex 的业余爱好者

我想问以下问题:

是否可以为以下代码创建一个替换参数:

我基本上需要改变所有的双元音,所以只剩下 1 个元音。

然而 Perl 似乎不明白他必须改变 aa => a oo => o 等..

他崩溃了。

有没有办法在相同的替换中将双元音与元音相关联?我不想对它进行 4 种不同的替换...

谢谢!

0 投票
1 回答
141 浏览

text - 使用 SED 将大写转换为小写以及将空格修改为文件中的文本

我有一些需要修复 URL 文本的 html 文本。我需要:

1) 将 URL 中的文本也转换为小写 2) 将 URL 中的任何空格也转换为连字符 3) 从 URL 中删除任何括号

我在每个文件中多次出现这种模式:

<div class="classname"><a href="/URL"><img src="${asset.image/url}" alt="TEXT" class="another-class-name" ></a></div>

示例:
我想更改此模式:<div class="classname"><a href="/URL-EXAMPLE-ONE"><img src="${asset.image/url}" alt="TEXT" class="another-class-name" ></a></div>

至:<div class="classname"><a href="/url-example-one)"><img src="${asset.image/url}" alt="TEXT" class="another-class-name" ></a></div>

我有许多文件,并且想做一个 infile 替换。/URL-EXAMPLE-ONE也可以有空格、括号的任意组合。

根据之前的建议,我正在使用以下 SED 脚本:

但我得到的输出是,例如:

原文: <div class="classname"><a href="/ABC (D&E)"><img src="${asset.images/common/manufacturer_logos/medium/abb-m.gif}" alt="TEXT" class="another-classname" ></a></div>

转换后的文本: <div class="classname"><a href="/<img src="${asset.images/url}" alt="TEXT" class="another-classname" abc-d-ediv>

其实想要: <div class="classname"><a href="/abc-d-e"><img src="${asset.images/url}" alt="TEXT" class="another-classname"></a></div>

任何人都可以提供进一步的帮助吗?我已经为此花费了很多时间;我不是 SED 专家,但我认为我离这里很近,但遗漏了一些东西。

非常感谢,亚历克斯

0 投票
2 回答
1533 浏览

regex - 查找和替换 perl 正则表达式,包括数学

我正在做一个项目,由于一个简单但非常不幸的错误,需要在文件中重写一堆时间戳;具体来说,我需要将每个时间戳的最后一部分除以 30。例如,如果文件包含:

"blahblahblah[00:05:25]randomblah[01:22:13]"

那我需要它说

"bahblahblah[00:05:833]randomblah[01:22:433]"

在意识到纯正则表达式无法处理问题后,因为它只处理字符而不是数字,一点点谷歌搜索将我指向 Perl 单行,我正在尝试对其进行修改以适应我的目的。这是我到目前为止所拥有的:

perl -pi.bak -e 's/\d\d:\d\d:($1/30)!/e

但是,我有一个语法错误"around /30"。任何人都可以帮助解决这个问题,并阐明它是如何工作的吗?我得到了逐行的东西,但不是表达部分。谢谢!

0 投票
2 回答
79 浏览

python - Python:用唯一替换替换字符串

我正在读取一个文件,我需要替换某些空标签([[Image:]])。

问题是每个替换都必须是唯一的。

这是代码:

这不起作用,因为一行中可能有许多标签:

这是输入文件。

输出应该是这样的:

这就是它目前的样子ö

我尝试使用替换函数,问题是该函数仅使用 re.sub 每行调用一次。

0 投票
2 回答
18518 浏览

regex - R - 从带有电话号码的列中删除破折号

我想创建一个没有破折号的新电话号码列。我的数据混合了数字和一些带有破折号的数字。数据如下所示:

电话
555-555-5555
1234567890
555-3456789
222-222-2222
51318312491

0 投票
1 回答
56 浏览

string - 为 nil 的子串数字位置

我即将指向字符串中指定的数字并更改它们。给出了输入“ip_digit”和“pos”。“pos”指定要更改的数字,ip_digit 是数字的新值。

.

输出很好。现在我正在浏览终端中的数字并更改光标指向的数字。在 3. Digit a > 0 < 被插入并且不能更改。现在的输出是:

当我尝试更改“0 位”时,不应该存在的 5 位被更改了。

这个怎么可能?我认为'port:sub(pos + 1)'可以走一远,但事实并非如此。

编辑:

可视化问题:

步骤“箭头键右”

step "input '9'" (数值输入也向右移动一位,改变后)

步骤“输入'9'”(向右移动)

步骤“输入'9'”(向右移动,无效所以移动到#1)

0 投票
1 回答
32 浏览

bash - Why does the pattern *([^\/]) work in my interactive shell but not a script?

I'm writing a script to strip a working directory to a limited length using bash parameter substitution. It works on the command line, but the same substitution does nothing in the script.

The code:

If I do

I get .../CS352/Project1, which is what I want. But the same sub does nothing in my script.

Question: How do I make the marked line in the code behave like the example above?

0 投票
4 回答
305 浏览

bash - 使用 awk 替换行尾的空字段

我被困住了。假设我有 4 列的制表符分隔文件。

并想用 \N 替换行尾的空字段。结果应该是

我试过了awk -F'\t' 'BEGIN {sub("", "\N", $4); print}' fileawk -F'\t' 'BEGIN {sub(/^&/, "\N", $4); print}' file同样没有运气。

更新1:正如建议的那样,我也尝试过使用字段数,但awk -F"\t" 'NF<4 {print}' file没有返回任何结果,即所有行都有四个字段。

更新2cat -vET file显示

更新3:删除回车后cat -vET file显示

并且任何建议的解决方案都不起作用。

0 投票
1 回答
129 浏览

bash - Bash:替换为交替符号

我想从某种文本(ulysses iii iCloud Text.txt 文件)中提取降价。编辑器用“OBJECT REPLACEMENT CHARACTER”替换了所有方括号,0xEF 0xBF 0xBC (efbfbc)我想撤消这个操作。

如何用“[”替换所有奇数事件,用“]”替换所有其他事件。

编辑:

例如,我想替换每次出现的xto[]

Some xlinkx->Some [link]

0 投票
2 回答
156 浏览

perl - Perl 中的替换运算符

我是 perl 的新手。我有以下替换表达式:

我已经搜索了很多,但找不到类似的表达。这是什么意思?