【问题标题】:How to remove the special characters from a string using javascript如何使用javascript从字符串中删除特殊字符
【发布时间】:2013-08-15 10:44:58
【问题描述】:

我要在文本区域中显示以下字符串值,我想从字符串中删除第一个字符 @@*n|n。

字符串如下: 符号-001 @@*n|n索赔人姓名 @@*n|nTransaction

我已经使用下面的代码来处理删除特殊字符

var paramVal1 = parent.noteText; //paramVal1 will have the string now
var pattern = /[@@*n|n]/g;
var paramVal1 = paramVal1.replace(pattern,'');
document.getElementById("txtNoteArea").value = paramval1;//appending the refined string to text area

对于上面使用的代码,我得到如下输出字符串

符号-001 |Claimat 名称 //这里缺少'n',我有一个额外的'|'字符 |Transactio //'n' 在这里也丢失了,还有一个额外的 '|'字符

请帮助删除字符 @@*n|n 而不会影响其他值

【问题讨论】:

    标签: javascript


    【解决方案1】:

    您的正则表达式所说的是“删除以下任何字符:@|*n”。显然这不是你想要的!

    试试这个:/@@\*n\|n/g

    这表示“删除文字字符串@@*n|n”。反斜杠删除了 *| 的特殊含义。

    【讨论】:

    • 我已经尝试了上述两种模式,但仍然无法得到......理想情况下,以@@*n|n 模式开头是使用上述两种模式时字符串中每一行的开头它正在从字符串中删除 'n' 字符....
    【解决方案2】:

    您在模式中使用正则表达式保留字符,您需要转义它们 你可以使用这个表达式:

    var pattern = /[\@\@\*n\|n]/g;
    

    【讨论】:

    • * 在字符类中没有意义。
    【解决方案3】:

    我想用这个 /[@@*n\|n]/g regEx

    【讨论】:

    • | 在字符类中没有意义。
    • 哦,对不起,我忘了删除 []
    • * 确实在字符类之外有含义。
    • 你的仪式也需要转义*
    【解决方案4】:

    如果您想替换问题中所说的第一次出现,则无需使用正则表达式。只要你避开星号,一个简单的字符串就可以了:

    var str = "Symbol-001 @@*n|nClaimant Name @@*n|nTransaction";
    var str2 = str.replace("@@\*n|n", ""); //output: "Symbol-001 Claimant Name @@*n|nTransaction"
    

    如果要替换所有出现的地方,可以使用正则表达式,转义所有有特殊含义的字符:

    var str3 = str.replace(/\@\@\*n\|n/g, ""); //output: "Symbol-001 Claimant Name Transaction"
    

    看看这个正则表达式生成器,可能会派上用场 - http://gskinner.com/RegExr/

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-11
    • 2016-01-23
    相关资源
    最近更新 更多