相关疑难解决方法(0)

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

我需要用一个同样长的单词列表替换一个单词列表.

例如,你有:"a","b","c","d","e","f"

并且您希望用每个单词的大写版本替换每个单词:"A","B","C","D","E","F"

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

我知道你可以对每个单词进行全局替换.但是,当单词的长度变大时,这种方法将变得毫不夸张和不优雅.

有没有办法以某种方式进行一次全局替换?相近:

:%s/\(a\|b\|c\|d\|e\|f\)/INSERT_REPLACEMENT_LIST/
Run Code Online (Sandbox Code Playgroud)

我不确定这是否可行.

regex vim replace substitution

6
推荐指数
1
解决办法
1213
查看次数

如何只编写一个模式来在vim中以双向方式交换两个字符串

xxx <=> zzz


原文:

xxxyyyzzz

运行命令:

:s/???/???/

它成为了:

zzzyyyxxx

运行上面的相同命令:

:s/???/???/

回到原文:

xxxyyyzzz


就像切换案例(〜)

aBCdeFg <=> AbcDEfG

vim

5
推荐指数
1
解决办法
179
查看次数

如何替换Perl中所有HTML编码的重音?

我有以下情况:

有一个工具可以从Web界面获取XSLT并将XSLT嵌入到XML文件中(应该有人被解雇)."不幸的是"我在一个法语国家工作,因此XSLT有很多带有重音符号的单词.当XSLT嵌入到XML中时,该工具会将所有重音转换为其HTML代码(Iacute,igrave等...).

我的Perl代码正在从XML中检索XSLT,并使用Xalan命令行工具针对其他XML执行它.每次XSLT中都有一些重音时,Xalan工具会抛出异常.

我最初做一个正则表达式来改变XSLT中的所有重音:

# the & is omitted in the codes becuase it will be rendered in the page
$xslt =~s/Aacute;/Á/gso;
$xslt =~s/aacute;/á/gso;
$xslt =~s/Agrave;/À/gso;
$xslt =~s/Acirc;/Â/gso;
$xslt =~s/agrave;/à/gso;

但这样做意味着我必须为每个重音代码写一个正则表达式....

我的问题是,如果没有为每个代码编写正则表达式,有没有这样做呢?(认为​​这是唯一的解决方案,想要呕吐.)

顺便说一句,该工具是TeamSite,它很糟糕.....

编辑:我忘了提到我需要一个Perl唯一的解决方案,安全性不允许我安装他们没有检查一周左右的任何类型的库:(

regex string perl replace

4
推荐指数
1
解决办法
3864
查看次数

标签 统计

regex ×2

replace ×2

vim ×2

perl ×1

string ×1

substitution ×1