将空格过滤到字符串末尾,同时在同一位置保留特殊字符

时间:2013-02-11 13:52:01

标签: javascript algorithm logic

我有一个字符串() - (),其中"(",")"和" - "是字符串中的特殊字符。这里的字符串将字符与空格分隔开来。当用户输入字符串之间的字符时,空格被输入替换。然后该字符串看起来"(9)-8(7)"
我需要将所有输入放在最左侧,同时将特殊字符保留在相同位置并将空格推到字符串的末尾。然后字符串将显示为(987) - ()。请帮忙

1 个答案:

答案 0 :(得分:0)

这就是我最终的结果。这似乎现在有效

var value = "(9 ) -8 ( 7 )";
        for (var i = 0; i < mask.length; i++) {
            var char = mask.charAt(i);
            if ('9XA'.indexOf(char) != -1) {
                if (value.charAt(i) == " ") {
                    var j = i + 1;
                    var matchPattern = /^[A-Za-z0-9]+$/                        
                    while (value.length)
                        if (value.charAt(j).match(matchPattern) || value.charAt(i) == " ")
                            break;
                        else
                            j++;
                    var temp = value.charAt(i);
                    value.charAt(i) = value.charAt(j);
                    value = value.insert(i, value.charAt(j));
                    value = value.insert(j, temp);
                }
            }
        }