3

我想知道在字符串中查找特定短语然后将其后的所有内容存储在新变量中的最佳方法。例如,如果...

var str = 'hello how are you doing the what is a dinosaur search Jim carrey';

'search' 或 'search for' 之后的所有内容,在本例中为 'Jim carrey' 都应该存储在一个新的 var 中——我们称之为 val。

此外,如果短语“search”或“search for”有两个或多个实例,则仅将最新的内容存储在 val 中。

例如:如果 str = 'welcome I am search pie recipie search quick chili recipie' 那么 val 将是 'quick chili recipie' 或者如果 str = '今天是 78 度,搜索好天气和晴天,换句话说,这是搜索的完美日子夏天什么时候结束' 那么 val 将是 '夏天什么时候结束'。

4

5 回答 5

6

试试这个正则表达式:

var str = 'Today is 78 degrees search good weather and sunny in other words a perfect day for search for when does summer end';
var arr = str.split(/ search (for){0,1}/);

alert(arr[arr.length-1]);
于 2013-03-21T04:52:24.927 回答
1

尝试

var str = "welcome I am search pie recipie search quick chili recipie";
var m = str.split('search');
alert(m.slice(-1));

或者

  str.split('search').pop() // will do same thing

working DEMO

于 2013-03-21T04:52:11.310 回答
1

Legendinmaking的答案返回以空格开头的短语并在搜索或搜索后返回所有内容

var str = 'welcome I am search pie recipie search quick chili recipie';
 var param='search';
 var param1='search for';
 var n=str.lastIndexOf(param);
 var n1=str.lastIndexOf(param1);
 n=Math.max(n,n1);
 alert(str.substring(n+param.length + 1,str.length));
于 2013-03-21T04:53:04.480 回答
0

我不确定这是不是最好的方法,但它有效,您可以尝试在 jsbin 更改 srt 值:http: //jsbin.com/uguzup/1/edit

var str = 'Today is 78 degrees search good weather and sunny in other words a perfect day for search for when does summer end';
var val = str.split('search for').slice(-1)[0].split('search').slice(-1)[0]
于 2013-03-21T04:40:23.090 回答
0

试试这个

var str = 'welcome I am search pie recipie search quick chili recipie';
    var param='search';
    var n=str.lastIndexOf(param);
    alert(str.substring(n+param.length,str.length));
于 2013-03-21T04:42:31.390 回答