我有以下字符串值显示在文本区域中,我想从字符串中删除第一个字符@@ * n | n。
字符串如下: 符号-001 @@ * n | nClaimant名称 @@ * 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而不影响其他值
答案 0 :(得分:1)
你的正则表达式所说的是“删除以下任何字符:@|*n
”。显然这不是你想要的!
请改为:/@@\*n\|n/g
这表示“删除文字字符串@@*n|n
”。反斜杠删除了*
和|
的特殊含义。
答案 1 :(得分:-1)
您在模式中使用正则表达式保留字符,您需要将它们转义 您可以使用以下表达式:
var pattern = /[\@\@\*n\|n]/g;
答案 2 :(得分:-1)
我认为使用此/ [@@ * n \ | n] / g regEx
答案 3 :(得分:-1)
如果您想要在问题上替换第一个匹配项,则不需要使用正则表达式。只要你转义星号,就会有一个简单的字符串:
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/