Javascript 字符串计数与 rtrim

标签 javascript regex

所以我有这样的字符串(例如):

var str = '1234567  ' +
            '89';

7后有两个空字符(可以更多) 我有一个正则表达式

var text = str.replace(/(\r\n)|\r|\n|( )|( )|(\u00A0)/g, ' ')
                .replace(/<p>( |(<br>))<\/p>/gi, "\n")//weird TinyMCE newline variants
                .replace(/(\s*<\/p>)|(\s*<br[^<>]*>)|(\s*\n)/gi, "\n")
                .replace(/<.[^<>]*>/g, '')//strip tags
                .replace(/&[a-z]+;/g, 'a')//html_entity_decode
                .replace(/^\s+|\s+$/g, '');//whitespace right trim




console.log(text.length) // 

结果是11,但应该是9

如何在换行符(每个新行)之前 trim 右侧空格并清空字符串中的内容。 文本可以是:

    var text = 'new     ' +
               'text         ' +
               'example ';
text.length should be 14

Jsfiddle example

最佳答案

您可以使用String.replace删除每个空格。对于单个字符串,您可以使用 String.trim

使用数组来保存字符串,然后你就可以这样做

var arr = ['new     ', 'text         ', 'example ']; // array of strings
var text = arr.map(function(str){ // map to create a new array
    return str.replace(/(\w+)\s+/, "$1");  // right trim
}).join(""); // join the array with empty string
console.log(text.length); // 14

关于Javascript 字符串计数与 rtrim,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27184795/

相关文章:

javascript - 从原生 ios 代码调用 javascript 函数(位于参数中)

JavaScript 正则表达式忽略大小写异常(无效组)

java - 匹配带或不带 url 参数的路径

ruby - 构建正则表达式以仅匹配 2 个单词

python - 将 kwargs 传递给 re.sub()

javascript - 小袋鼠和原型(prototype)错误

javascript - 使用 js 验证表单的最简单/最佳方法是什么?

JavaScript 函数,读取对象之间的连接

java正则表达式获取字符串和下一个管道之间的所有匹配

java - 从字符串中获取值