[英]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();
小提琴的例子:
使用正則表達式是一種更好的方法,因為字符串方法不能在所有情況下都返回正確的答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.