Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как изменить конкретный символ в строке? (https://javascript.ru/forum/misc/7940-kak-izmenit-konkretnyjj-simvol-v-stroke.html)

Cooskon 27.02.2010 18:51

Как изменить конкретный символ в строке?
 
Довольно давно пишу на JavaScript, но вдруг понял, что понятия не имею, как в строке изменить символ под заданным номером. Как без этого жил раньше - не знаю :) Думал, что-нибудь вроде
str[num]="a"
Ан нет.

Подскажите, а? Справочник посмотрел, встроенных функций для этого не нашёл.

vk65535 27.02.2010 18:57

Character access
There are two ways to access an individual character in a string. The first is the charAt method:
return 'cat'.charAt(1); // returns "a"
The other way is to treat the string as an array, where each index corresponds to an individual character:
return 'cat'[1]; // returns "a"
The second way (treating the string as an array) is not part of ECMAScript; it's a JavaScript feature (and not supported in all browsers).

In both cases, attempting to set an individual character won't work. Trying to set a character through charAt results in an error, while trying to set a character via indexing does not throw an error, but the string itself is unchanged.

Остаются только substr и replace.
alert('Hello world!'.replace(/^(.{6})./, '$1W'));

Cooskon 27.02.2010 19:00

Ох. Надо же. Жаль. Окей, большое спасибо за помощь

MrRiseYT 30.10.2017 23:47

Попробуй:

var x = "машина и петя";

alert(x.slice(0,6) + " а" + x.slice(8.12));

ruslan_mart 31.10.2017 05:37

MrRiseYT, 8.12?


Часовой пояс GMT +3, время: 02:00.