过滤字符串末尾的空间,同时在相同位置保留特殊字符

Filtering the space the space to the end of the string while retaining special charecter at same position

本文关键字:位置 特殊字符 保留 字符串 空间 过滤      更新时间:2023-09-26

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

这就是我最终得到的结果。这似乎目前有效

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);
                }
            }
        }