如何从以下字符串中获取ID的第一部分?
sText ='DefId #AnyId #MyId';
sText = sText.replace(/ #.*$/g, '');
alert(sText);
结果应如下:“DefId #AnyId”
非常感谢提前。
答案 0 :(得分:1)
var sText ='DefId #AnyId #MyId';
var matches = sText.match(/(DefId #.*) #.*/);
if(matches && matches.length > 0) {
alert(matches[1]);
}
如果您还想要第一个ID之后的空格,请将分组括号右移1个字符。这假设ID不会包含#。
答案 1 :(得分:0)
你可以使用这个正则表达式,
(.*)#.*?$
JS代码,
> var sText ='DefId #AnyId #MyId';
undefined
> sText = sText.replace(/(.*)#.*?$/g, '$1');
'DefId #AnyId '
如果您不想在#AnyId
之后留下任何空格,请运行以下正则表达式以删除该空格。
> sText = sText.replace(/(.*) #.*?$/g, '$1');
'DefId #AnyId'
答案 2 :(得分:0)
如果您需要在字符串中的最后#
之后删除所有内容,请使用:
sText.replace(/#[^#]+$/, '');