如何移除字符串中带通配的目标匹配段前后所有内容?
提取字符串中指定开头的内容
你之前用固定文本替换的方式局限性很大,前后内容不固定时就会失效。要提取以bananas开头的完整片段(比如bananas-123、bananas-2434这类),可以用正则表达式实现,不管前后是什么内容都能准确匹配:
var c = "apples pears bananas-123 grapes"; // 匹配以bananas开头、后续跟着任意非空白字符的序列 var matched = c.match(/bananas\S+/); // 如果匹配到结果就取第一个匹配项,否则返回空字符串 var targetPart = matched ? matched[0] : ''; console.log(targetPart); // 输出 "bananas-123"
正则说明
bananas:固定匹配开头的目标字符串\S+:匹配一个或多个非空白字符,确保把bananas后面连在一起的所有内容都包含进来(直到遇到空格为止)
如果你的bananas*部分可能包含空格(从示例场景看概率较低),可以调整正则为/bananas.+/,但这样会匹配到字符串末尾,需要根据实际内容调整。
内容的提问来源于stack exchange,提问作者IslandScott
相关产品推荐
相关产品推荐

