2013-05-08 101 views
0

我有以下字符串值。字符替換

var stringVal = [4|4.6]^Size{1}~[6]; 

我想第一^發生與[1|5]我怎麼去這樣做之前,換成新的?

在此先感謝。

回答

5

一個簡單的正則表達式會做:

var stringVal = '[4|4.6]^Size{1}~[6]'; 
stringVal.replace(/^.*?\^/, '[1|5]^'); 
#=> "[1|5]^Size{1}~[6]" 

正則表達式的解釋:

^ start of string 
. any character 
*? repeat >= 0 times, but match as less characters as possible (non-greedy) 
\^ match '^' (a simple `^` matches the start of the string, so we need to escape it 

另外,更快的方式,這將對於這種情況下的工作:

'[1|5]' + stringVal.substr(stringVal.indexOf('^')) 
+0

+1的正則表達式的解釋 – 2013-05-08 11:01:41

+0

@MohammadAdil,我想我應該在每個答案中都這麼做,很多人都很欣賞它。 :) – Dogbert 2013-05-08 11:10:43

+0

謝謝你,完美的作品。 – user2025749 2013-05-08 12:28:24