如何从字符串中提取第一个特殊字符(仅允许 Category(name: _categoryName, icon: _categoryIcon, color: _categoryColor),
和#
)?
例如:
.
会返回svg#hello
#
会返回-hello-world#testing
#
会返回-hello-world.testing
.
会返回.test
等等?
答案 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]
);
希望它有所帮助。