1

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

字符串如下: Symbol-001 @@*n|nClaimant Name @@*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

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

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

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

4

4 回答 4

1

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

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

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

于 2013-08-15T10:49:40.603 回答
-1

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

var pattern = /[\@\@\*n\|n]/g;
于 2013-08-15T10:47:11.997 回答
-1

我认为使用这个 /[@@*n\|n]/g regEx

于 2013-08-15T11:07:48.240 回答
-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/

于 2013-08-15T11:07:51.957 回答