[英]Regex to remove numbers and others characters
我想使用正则表达式从打字稿字符串中删除一些数字和字符。 我想我已经接近了,但是我想念一些东西。
这是我拥有的弦乐之王:
我想要的是:
产品名称
这是我正在使用的正则表达式。
product_name = product_name.replace(/\[[0-9]+\]/,'');
您可以使用
.replace(/^\s*\[[0-9]+]\s*-\s*|\s*\([^()]*\)\s*$/g, '')
正则表达式匹配两个替代项(用|
分隔):
^\\s*\\[[0-9]+]\\s*-\\s*
:
^
-字符串的开头 \\s*
-0+空格 \\[
-一个[
[0-9]+
-1+个数字 ]
-一个]
炭 \\s*-\\s*
-一-
焦附带0+空格 |
- 要么 \\s\\([^()]*\\)\\s*$
:
\\s*
-0+空格 \\(
-一个(
[^()]*
- (
和)
以外的0+个字符 \\)
-a )
\\s*
-0+空格 $
-字符串结尾。 JS演示:
var strs = ['[15620584560] - product name (type)','[1256025] - product name (test+1)','[12560255544220] - product name']; var reg = /^\\s*\\[[0-9]+]\\s*-\\s*|\\s*\\([^()]*\\)\\s*$/g; for (var s of strs) { console.log(s, '=>', s.replace(reg, '')); }
一种可行的方法是在破折号上分割输入字符串,然后使用简单的正则表达式删除括号中的所有术语:
var input = '[15620584560] - product name (type)'; var fields = input.split(/\\]\\s*-/); var result = fields[1].replace(/\\s*\\(.*?\\)\\s*/g, '').trim(); console.log(result);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.