2011-09-02 56 views
1

所以我有一個選擇元素與不同時區的選項,請參閱下面的示例。regexp得到比賽後剩下的東西

<option value="2.0">(GMT +2:00) Kaliningrad, South Africa</option>

我想(GMT +2:00)爲 「當地時間」 後取代一切。 我想出了這個正則表達式,但它只匹配(GMT +2:00),我想定位並更改字符串的其餘部分。也許我也應該使用replace()insted。

var matches = $(this).html().match(/\(GMT [+-][0-9]+:00\)/); 
console.log(matches); 

回答

2

試試這個:

var finalString = $(this).html().replace(/(\(GMT [+-][0-9]+:00\))(.*)/, "$1 Local Time"); 

工作例如:http://jsfiddle.net/r65Hp/

+0

-1這是錯誤的。 – NullUserException

+1

@Null詳細說明爲什麼它是錯誤的將是有益的。 – alex

+0

OP使用'.html()',它也檢索HTML標記。使用這個將會消除關閉''標籤。 – NullUserException

1
$('select.whatever option').text(function(i, text) { 
    return text.replace(/\).*?$/, ') Local Time'); 
}); 

jsFiddle

+1

@null具體有什麼錯呢?小提琴是否不返回正確的字符串? – alex

+1

@Null你可以假設'this'是我樣本中的'option'元素。 – alex