正则表达式javascript删除后面/先前/分隔另一个字符串的字符串

时间:2014-02-13 16:37:03

标签: javascript regex

你好正则表达专家!

问题一 我想找到子字符串'delimiter'并删除它以及它之后的任何内容 所以结果就是'fredrobert'

var originalstring = 'fredrobertdelimitergarysusan';
var result = orig.match(/* not sure what goes here*/);              
console.log('result = ',result); //fredrobert

问题二 我想找到子字符串'delimiter'并删除它以及它之前的任何内容 所以结果是'garysusan'

var originalstring = 'fredrobertdelimitergarysusan';
var result = orig.match(/* not sure what goes here*/);              
console.log('result = ',result); //garysusan

问题三 我想找到子字符串'delimiterA'和'delimiterB'删除它们以及结果是什么,结果是'fredsusan'

var originalstring = 'freddelimiterArobertgarydelimiterBsusan';
var result = orig.match(/* not sure what goes here*/);              
console.log('result = ',result);  //fredsusan

2 个答案:

答案 0 :(得分:1)

此处的关键是使用.replace(),而不是.match().match()找到与模式匹配的文本,但不替换它。 .replace(),好吧,它取代了它!

问题一

使用.replace(),而不是.match():

var originalstring = 'fredrobertdelimitergarysusan';
var result = orig.replace(/delimiter.*/, '');              
console.log('result = ',result); //fredrobert

问题二

再次使用.replace():

var originalstring = 'fredrobertdelimitergarysusan';
var result = orig.replace(/.*delimiter/, '');
console.log('result = ',result); //garysusan

问题三

在分隔符之间使用带有.*的.replace():

var originalstring = 'freddelimiterArobertgarydelimiterBsusan';
var result = orig.replace(/delimiterA.*delimiterB/, '');              
console.log('result = ',result);  //fredsusan

答案 1 :(得分:0)

将单词“delimiter”及其后面的所有内容匹配到字符串的末尾:

/delimiter.*$/

“分隔符”及其前面的所有内容:

/^.*delimiter/

“delimiterA”,“delimiterB”以及之间的所有内容:

/delimiterA.*delimiterB/