如何从字符串的开头和结尾删除所有符号(如果有的话)?

How do I remove all symbols from the beginning and end of a string, if any?

本文关键字:符号 如果 删除 字符串 开头 结尾      更新时间:2023-09-26

只保留字母和数字

--I have a dog!!!应导致I have a dog

I have a dog.应产生I have a dog

尝试用以下正则表达式替换:

/^[^a-z'd]*|[^a-z'd]*$/gi
s = "--I have a dog!!!"
s.replace(/^[^a-zA-Z'd]*(.*?)([^a-zA-Z'd])*$/, "$1")

请注意,这将做完全你所要求的。它将从字符串的开头和结尾删除非字母数字字符,仅删除。字符串中间的所有非字母和非数字都不会被删除。

试试这个:

var x = '--I have a dog!!!';
x = x.replace(/[^0-9A-Za-z's]/g, '');
// results in "I have a dog"

使用正则表达式替换

'--I have a dog!!!'.replace(/[^a-zA-Z 0-9]*/g,''); // "I have a dog"

将从字符串的每个位置删除除数字、字母和空格以外的任何字符。

如果你想明确地只从开头和结尾删除,那么你需要这样做:

'--I have !!! a dog!!!'.replace(/^[^a-zA-Z 0-9]*|[^a-zA-Z 0-9]*$/g,''); // "I have !!! a dog"

在regular-expressions.info了解更多正则表达式,这里也有JavaScript的例子

使用正则表达式来解决这个问题:

var s = '--I have a dog!!!';
s = s.replace(/^[^a-z'd]*|[^a-z'd]*$/gi, '');