选择字符串的一部分

时间:2015-07-02 09:48:34

标签: jquery regex string

我有一个jquery字符串,比如x。

x = '##_##Donec commodo imperdiet diam##_###, eget porttitor nisi blandit facilisis. Morbi vitae lectus id nunc ultricies tincidunt.';

我想选择## _ ##和## _ ###之间的字符串部分,即" Donec commodo imperdiet diam"从上面的例子中可以看出。

提前致谢。

3 个答案:

答案 0 :(得分:3)

我认为你可以做到:

var res = str.split('##_##')[1].split('##_###')[0];

答案 1 :(得分:1)

你可以试试这个:

var myString = "##_##Donec commodo imperdiet diam##_###, eget porttitor nisi blandit facilisis. Morbi vitae lectus id nunc ultricies tincidunt.";
var myRegexp = /##_##([^#]*)##_###/g;
var match = myRegexp.exec(myString);
console.log(match[1]);

答案 2 :(得分:1)

这是如何在JS中的两个不同(但是常量)分隔符之间获取文本的更通用的代码:

teststr = '##_##Donec commodo imperdiet diam##_###, eget porttitor nisi blandit facilisis. Morbi vitae lectus id nunc ultricies tincidunt.##_##More text##_### here.';
function GetSubstrs(istr) {
  var res = [];
  var start_pos = istr.indexOf('##_##');
  while (start_pos > -1)
  {
    var end_pos = istr.indexOf('##_###',start_pos + 5);
    var text_to_get = istr.substring(start_pos + 5,end_pos)
    res.push(text_to_get);
    start_pos = istr.indexOf('##_##', end_pos + 6);
  }
  return res;
}

alert(GetSubstrs(teststr));