javascript正则表达式删除空格失败,为什么?

时间:2013-05-30 07:39:54

标签: javascript regex adobe-indesign

我使用text.replace(/\s/g, '')从字符串中删除所有空白字符。

我在俄语文本上尝试这个。我做了alert(text)向我展示了正确的字符串,但是替换函数抛出了这个错误 - Bad Argument /\s/g

我正在为Adobe InDesign脚本创建.jsx文件。 replace方法适用于某些字符串但有时会失败。知道为什么吗?

感谢。

修改

for (var i=0; i<arr.length; i++) {
    // If there is no text for the current entry, remove it
    alert(arr[i].text);
    if (arr[i].text == undefined || arr[i].text === "")  {
        arr.splice(i,1);
        i--;
        continue;
    }


    var trimmed = arr[i].text.replace(/\s/g, '');
        if (trimmed.text === "") {
        entries.splice(i,1);
        i--;
    }
.
.
.
}

3 个答案:

答案 0 :(得分:0)

我的不好 - 这是我编辑的答案。

var str = "Hello this is my test string";
var newStr = str.replace(/ /g, '');

alert(newStr) // "Hellothisismyteststring";

答案 1 :(得分:0)

  • 如果您的文本中有任何正则表达式特殊字符(如$,^等),则需要转义(“\\”)。

- 尝试发布小提琴或粘贴失败的文本,我们可以检查问题。

答案 2 :(得分:0)

我使用.text()来填充文本对象。我了解到这个函数将空间转换为非中断空间(字符160)。

也不得不剥掉它......     text.replace(/&nbsp;|\s+/g)