如何使用javascript从字符串中删除特殊字符

How to remove the special characters from a string using javascript

本文关键字:删除 特殊字符 字符串 何使用 javascript      更新时间:2023-09-26

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

字符串如下:符号-001@@*n|客户名称@@*n|交易

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

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 Name//此处缺少"n",我有一个额外的"|"字符|Transactio//此处也缺少'n'和一个额外的'|'字符

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

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

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

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

您在模式中使用正则表达式保留字符,需要对它们进行转义您可以使用以下表达式:

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

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

如果您想像在问题中所说的那样替换第一个出现的项,则不需要使用regex。一个简单的字符串就可以了,只要你逃离星号:

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

如果您想替换所有出现的字符,可以使用regex,转义所有具有特殊含义的字符:

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

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