|
11.10.2010, 11:13
|
Интересующийся
|
|
Регистрация: 11.05.2010
Сообщений: 14
|
|
вопрос про замену символов в строке
Здравствуйте всем! Столкнулся с проблеммой, мне необходимо в строке заменить определённый символ, например 18-ый, как это можно реализовать?
что бы было примерно как
str[18] = "#"
всем заранее спасибо!
Последний раз редактировалось Yellow79, 11.10.2010 в 11:42.
|
|
11.10.2010, 12:23
|
Интересующийся
|
|
Регистрация: 11.05.2010
Сообщений: 14
|
|
Sweet, спасибо огромное, Я бы нашёл сам, но проблемма в том что Я не знал по какому запросу искать, находилось только replace а вот про charAt там не видел, если бы нашёл, то не спрашивал бы.
Спасибо ещё раз огромное
|
|
11.10.2010, 18:31
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
Sweet,
Сообщение от Sweet
|
var string = 'test',
2result = string.replace(string.charAt(1), 'o');
3alert(result)
|
Ваш код не учитывает что string.charAt(0) может быть равен string.charAt(1) и перезапишеться нулевой символ строки например var string = 'eest',
можно так например ...
String.prototype.repl=function(b,c){var a=this;if(b>-1&&b<a.length){a=a.split('');a[b]=c;a=a.join('')};return a};
alert('test'.repl(1,'o'))
|
|
11.10.2010, 19:10
|
Профессор
|
|
Регистрация: 21.01.2010
Сообщений: 1,022
|
|
Можно и через slice:
String.prototype.replaceChar = function ( num, char ) {
return this.slice( 0, num - 1 ) + char + this.slice( num );
};
|
|
11.10.2010, 21:03
|
Профессор
|
|
Регистрация: 16.03.2010
Сообщений: 1,618
|
|
Признаю, конечно, не лучший способ я предложил. Лучше .slice использовать, как у exec
|
|
12.10.2010, 10:46
|
Интересующийся
|
|
Регистрация: 11.05.2010
Сообщений: 14
|
|
exec, ты просто БОГ JavaScript
на самом деле мне нужно было ещё данное дело пустить в цикле по массиву цифр, с первым случаем, который любезно предоставил Sweet, вчера бился остаток дня, ничего не вышло, а вот сегодня с вашим кодом всё получилось.
Огромное спасибо всем!
|
|
|
|