获取字符串中出现的第一个特定特殊字符

时间:2018-05-19 18:40:11

标签: javascript

如何从字符串中提取第一个特殊字符(仅允许 Category(name: _categoryName, icon: _categoryIcon, color: _categoryColor), #)?

例如:

.会返回svg#hello

#会返回-hello-world#testing

#会返回-hello-world.testing

.会返回.test

等等?

1 个答案:

答案 0 :(得分:0)

您可以在字符串上使用.match(/[#.]/)来匹配您想要的字符:

var texts = ['svg#hello', '-hello-world#testing', '-hello-world.testing', '.test'];
var regex = '[#.]';

// You need to add the [0] to get the element of the array returned by the function
console.log(
  texts[0].match(regex)[0],
  texts[1].match(regex)[0],
  texts[2].match(regex)[0],
  texts[3].match(regex)[0]
);

如果您想将其扩展到其他特殊字符,您可能希望在字符串上使用反向正则表达式.match(/[^a-zA-Z0-9-]/),以匹配非字母,非数字而非-个字符:

var texts = ['svg#hello', '-hello-world#testing', '-hello-world.testing', '.test', '_new-test'];
var regex = '[^a-zA-Z0-9-]';

// You need to add the [0] to get the element of the array returned by the function
console.log(
  texts[0].match(regex)[0],
  texts[1].match(regex)[0],
  texts[2].match(regex)[0],
  texts[3].match(regex)[0],
  texts[4].match(regex)[0]
);

希望它有所帮助。