【发布时间】:2022-01-16 15:06:17
【问题描述】:
我有一组字符串需要替换,但我需要保留字母的大小写。
输入字和输出字的长度相同。
例如,如果我需要将“abcd”替换为“qwer”,那么应该会发生以下情况:
"AbcD" translates to "QweR"
"abCd" translates to "qwEr"
等等。
现在我正在使用 JavaScript 的 replace,但翻译时会丢失大写字母。
r = new RegExp( "(" + 'asdf' + ")" , 'gi' );
"oooAsdFoooo".replace(r, "qwer");
任何帮助将不胜感激。
【问题讨论】:
-
目标字符串和替换是已知的,否则它们将是动态的?
-
对不起,我不明白你的问题。但情况就是这样:我正在转录用户输入的文本。我有一个规则列表,比如“ca”转写为“kb”,但我需要保留大写字母,所以“cA”转写为“kB”。
-
我会分两步完成,首先是 "oooAsdFoooo".search(r) 返回索引,然后处理案例。但如果有办法只使用正则表达式,我会很兴奋
-
您有特定字母到字母映射的列表吗?例如 a==q, A== Q 。所以如果 a 是输入,它总是 q(大写或小写)
-
我在这里找到了一个更简单、更优雅的解决方案来解决似乎相同的问题:stackoverflow.com/questions/28841045/…
标签: javascript