2016-08-08 4 views
0

У меня есть строка, которая выглядит как этотКак заменить определенную часть строки в Javascript

ATOM LEU 0.1234 C 0.123 0.32 0.34 

Как заменить C с .replace() к & в Javascript, получая только расположение C? Письмо от C может по существу быть чем угодно.

Я хочу

ATOM LEU 0.1234 & 0.123 0.32 0.34. 
+0

' "ATOM LEU 0,1234 C 0,123 0,32 0,34" .Надеть ("C", "&")' –

+0

@RajaprabhuAravindasamy "Буква C может существенно быть что угодно." – yuriy636

+0

Я хочу заменить на место C не собственно буквой. –

ответ

4

Вы можете сделать это с помощью substring(),

var str = "ATOM LEU 0.1234 C 0.123 0.32 0.34"; 
var res = str.substring(0, 16) + "&" + str.substring(17); 
console.log(str); //"ATOM LEU 0.1234 & 0.123 0.32 0.34" 
+0

Возможно, было бы лучше найти местоположение строки, которую вы хотите заменить, вместо использования статического индекса 16 (возможно, вы не знаете, какая подстрока вы хотите заменить). Хорошее решение tho. –

+1

Я предлагаю обновить это и использовать 'var res = [str.substring (0, 16), str.substring (17)]. Join (" & ")'. Это тонкое изменение, но оно будет работать намного быстрее, если вам нужно обработать много из них сразу. Также в вашем примере он должен сказать 'console.log (res)', прямо сейчас он только регистрирует исходную строку – jmcgriz

+0

@empiric. Он заменил бы первый экземпляр уникального символа. Утверждение «Письмо С может по существу быть чем угодно». не означает, что он не будет уникальным для строки; просто чтобы это не было «C». –

0

вар Str = "АТОМ Leu 0,1234 C 0,123 0,32 0,34";
var newStr = str.replace (str.charAt (16), "&");

+1

Также рекомендуется, если символ в позиции 16 не является уникальным в строке, каждый символ будет заменен независимо от того, в какой позиции он находится в – empiric

0

Вы также можете попробовать это:

var str = "ATOM LEU 0.1234 C 0.123 0.32 0.34"; 
var strExp = str.split(" "); 
var newStr = str.replace(strExp[3], "&"); 
console.log(newStr); 
+0

Как он знает, чтобы выбрать 4-й элемент в массиве строк? –

+0

Bcz, я предположил, что этот шаблон не будет изменен – rroxysam

0

Найти местоположение строки, которую вы хотите заменить. Затем замените его тем, что вы хотите. Я написал это, не зная, как долго строка, которую вы хотите заменить, будет.

var str = "ATOM LEU 0.1234 C 0.123 0.32 0.34"; 
var strToReplace = "C"; 
var indexOfStrToReplace = str.indexOf(strToReplace); 
var result = str.substring(0,indexOfStrToReplace) + "&" + str.substing(indexOfC + strToReplace.length); 
Смежные вопросы