2015-10-15 60 views
1

使用javascript,我試圖在字符串的最後2個單詞周圍插入一個跨度。javascript:跨越字符串中的最後兩個單詞

使用下面的正則表達式我可以得到最後一個單詞,但我無法弄清楚如何得到最後2個單詞。

var $div = $('div'); 
$div.html($div.text().replace(/(\w+?)$/, '<span>$1</span>')); 
+2

你可以嘗試以下的正則表達式:'/(\ w + \ S + \ w +)$ /'。 – VisioN

回答

2

你需要第二個\w用空格隔開,所以

$div.html($div.text().replace(/(\w+\s\w+?)$/, '<span>$1</span>')); 

,如果你可以有多個空格,使該可選

$div.html($div.text().replace(/(\w+\s+\w+?)$/, '<span>$1</span>')); 
0

您需要檢查的另一個詞\w+和它們之間的空白字符(或更多)\s+

$div.html($div.text().replace(/(\w+\s+\w+?)$/, '<span>$1</span>')); 
2

將文本分解爲單詞並使用slice方法查找除最後兩個單詞和最後兩個單詞外的所有單詞。

var words = $div.text().split(' '); 

$div.html(words.slice(0, words.length - 2).join(' ') + " " + "<span class='bold'>" + 
words.slice(words.length-2, words.length).join(' ') + "</span>"); 

小提琴:http://jsfiddle.net/rjs4gac1/

相關問題