2013-05-08 95 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