javascript - 在 JavaScript 中进行四种字符串操作

标签 javascript regex string replace

我需要使用以下规则操作字符串:

  1. 将多个空格替换为一个空格
  2. 删除点前面的空格
  3. 应删除两个单个 (!) 字符和点之间的空格:i。 e. ->
  4. 删除前导空格和尾随空格

这就是我的想法:

string = string.replace(/\s\s+/g, ' ');
string = string.replace(/\s\./, '.');
// ??
string = string.replace(/\.+$/, '');

我不知道如何处理规则 3,也许所有内容都可以合并在一起。

最佳答案

您可以将其合并为:

string = string.replace(/\s{2,}/g, ' ').replace(/\s+\./g, '.').
                replace(/([!.])\s+([a-z])\b/ig, '$1$2').replace(/^\s+|\s+$/g, '');
  • 最好使用 \s{2,} 而不是 \s\s+
  • ([!.])\s+([a-z]\b 将删除 DOT 或 ! 后面的空格(如果后跟单个字母)。
  • ^\s+|\s+$ 将删除前导或尾随空格

关于javascript - 在 JavaScript 中进行四种字符串操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39903739/

相关文章:

string - Go 中没有开头、结尾的函数?

string - 如何在 Bash 中连接两个字符串而不使用变量?

javascript - 如何让 Greasemonkey 在加载后调用页面上的函数

javascript - 替换第 n 次出现的字符串

php - 确定任何一个字符是否在一行中至少重复了指定次数

javascript - 正则表达式匹配 : b: and c: in [Object a:var b:var c:var];

r - 在 R 中使用 str_extract 在带有正则表达式的子字符串之前提取数字

linux - bash中##和%%的功能是什么

javascript - 通过变量创建简单页面

javascript - 如何使用javascript突出显示包含两个已知字符之间的随机字符的子字符串?