繁体   English   中英

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

[英]How to remove the special characters from a string using javascript

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

字符串如下: Symbol-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

对于上面使用的代码,获取输出字符串如下所示

Symbol-001 |索赔名称 //这里'n'缺失并且我有一个额外的'|' 字符 | Transactio //'n'在这里也丢失了,另外一个'|' 字符

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

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

请尝试以下方法: /@@\\*n\\|n/g

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

您在模式中使用了正则表达式保留字符,需要对其进行转义。可以使用此表达式:

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

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

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

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/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM