Javascript 在关键短语后提取字符串的某一部分
我想知道最好的方法是在字符串中查找特定短语,然后将其后面的所有内容存储在新变量中。 例如,如果Javascript 在关键短语后提取字符串的某一部分,javascript,jquery,string,Javascript,Jquery,String,我想知道最好的方法是在字符串中查找特定短语,然后将其后面的所有内容存储在新变量中。 例如,如果 var str = 'hello how are you doing the what is a dinosaur search Jim carrey'; “search”或“search for”之后的所有内容,在本例中,“jimcarrey”应该存储在一个新的var中——我们称之为val 此外,如果短语“search”或“search for”有两个或多个实例,则只在val中存储最新一个之后的内
var str = 'hello how are you doing the what is a dinosaur search Jim carrey';
“search”或“search for”之后的所有内容,在本例中,“jimcarrey”应该存储在一个新的var中——我们称之为val
此外,如果短语“search”或“search for”有两个或多个实例,则只在val中存储最新一个之后的内容
例如:如果str='welcome I am search pie recipie search quick chili recipie',则val将是'quick chili recipie'
或
如果str=“今天是78度,搜索好天气和晴朗天气,换句话说,这是搜索夏季何时结束的完美日子”,那么val将是“夏季何时结束”。我不确定这是最好的方法,但它有效,您可以尝试在jsbin更改srt值: 试试这个
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));
试一试
或
试试这个RegExp:
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]);
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));
工作完美,正是我想要的。非常感谢。我应该复习一下我的正则表达式,因为我要使用.split();你能给我解释一下正则表达式中不同的符号是什么意思吗?您的正则表达式与此正则表达式有什么不同:/\b搜索(for)\b/gif首先,我必须提到,我将我的答案编辑为更好的模式。其次,在我的模式中,您最多可以有一次
for
(在前面的模式中,您可以匹配search-forfor
,这是错误的)。而且您的模式不匹配前缀后缀搜索:)我添加了{0,1}
,以便更具体地了解我们正在学习的内容:)
str.split('search').pop() // will do same thing
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]);
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));