2013-05-08 19 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]" 

Regex объяснение:

^ 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 для Regex объяснения –

+0

@MohammadAdil, я думаю, я должен сделать это в каждом ответе, многие люди это ценят. :) – Dogbert

+0

Спасибо за это, отлично работает. – user2025749

Смежные вопросы