簡體   English   中英

Javascript:在特定單詞之后得到單詞?

[英]Javascript : Get word after specific word?

如何在特定單詞之后得到單詞?

例如:我有這樣的字符串:

string = "Price:$20 is very cheap" 

我想要結果:$ 20

我該如何使用Javascript?

您可以使用正則表達式:

var matches = /Price:(.*?) /g.exec("Price:$20 is very cheap");
if(matches.length > 1) {
    var price = matches[1];
}
else {
    // Not found
}

請注意,這將匹配單詞Price:之后的任何字符序列。 如果價格一詞后面有空格,它將中斷。 如果$ 20之后沒有空格,它將中斷。 您需要根據輸入源來使規則更復雜。

用:分隔字符串,然后用空格分隔。

string.split(":")[1].split(" ")[0]

沒有正則表達式的各種解決方案:

var s = 'Price:$20 is very cheap'; 
var s1 = s.slice(6, s.indexOf(' '));
var s2 = s.slice(s.indexOf(':') + 1, s.indexOf(' ')); 
var s3 = s.slice(s.indexOf('$'), s.indexOf(' '));
// s1 === s2 === s3 === "$20"
var str = 'Price:$20 is very cheap';
var price = str.split(' ')[0].split(':')[1]; // $20
var matches = /Price:(\$\d+)/.exec(string)
matches[1];//"$20"

您可以使用string.split(":")[1].split(" ")[0]

否則您可以結合使用str.substring(); str.indexOf(); 小提琴的例子:

http://jsfiddle.net/PmcL3/

使用正則表達式是一種更好的方法,因為字符串方法不能在所有情況下都返回正確的答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM