Это простой. Я хочу заменить подстроку другой подстрокой на стороне клиента с помощью Javascript.
Исходная строка - 'original READ ONLY'
Хочу заменить 'READ ONLY' на 'READ WRITE'
Какой-нибудь быстрый ответ, пожалуйста? Возможно, с помощью фрагмента кода javascript ...
Вы спрашивали, как заменить определенное слово на определенная строка. Я не вижу в этом никаких тонкостей, зависящих от реализации, это просто и очень просто. Без обид, в спрашивая такого рода вопросы нет ничего плохого. Что-то не так с голосование у них.
Ваша жалоба безосновательна. Текст alt на изображении стрелки вверх говорит: «Этот вопрос полезен и ясен ...», что является субъективным вопросом. Теперь, если бы там было сказано: «Этот вопрос полезен и ясен для посла Томалака ...», у вас могли бы быть основания для вашей жалобы.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Хорошо резюме. Он основан на регулярном выражении, если вы используете нотацию регулярного выражения, вы можете указать модификаторы i и g (без учета регистра (i), который будет соответствовать независимо от регистра и global (g), который заменит все вхождения), если вы используете строковую нотацию, это будет преобразован в регулярное выражение, и вы не сможете указать какой-либо модификатор.
<script type = "text/javascript">
var str1 = "Visit Microsoft!";
var str2 = str1.replace(/microsoft/i, "W3Schools"); //Will work, per the i modifier
var str3 = "original READ ONLY";
var str4 = str3.replace("ONLY", "WRITE"); //Will also work
</script>
str2 = str2.replace (/ ^ Посетить /, 'Не посещать');
Ответ bobince более правильный; этот ответ подразумевает, что передача строки - это не то же самое, что и регулярное выражение, но, как указывает bobince, в любом случае она используется как регулярное выражение.
stringObject.replace(findstring,newstring)
Я предпочитаю подход с регулярным выражением,
newstring = oldstring.replace (/ regexforstringtoreplace /, 'новая строка');
также стоит рассмотреть модификаторы регулярных выражений g и i, они выполняют глобальную замену (т.е. заменяют все вхождения) и делают его нечувствительным к регистру.
Например:
<script type = "text/javascript">
var str = "this is a String";
document.write(str.replace(/\s/g, "_"));
would print: this_is_a_string
document.write(str.replace(/s/gi, "f"));
would print "thif if a ftring"
</script>
String.replace() основан на регулярном выражении; если вы передадите строку в качестве первого аргумента, составленное из нее регулярное выражение не будет включать флаг 'грамм' (глобальный). Эта опция важна, если вы хотите заменить все вхождения в строке поиска (обычно это именно то, что вам нужно).
Альтернативная идиома не-регулярное выражение для простой замены глобальной строки:
function string_replace(haystack, find, sub) {
return haystack.split(find).join(sub);
}
Это предпочтительнее, если строка find может содержать символы, которые имеют нежелательное особое значение в регулярных выражениях.
Во всяком случае, любой метод подходит для примера в вопросе.
Я не уверен, что вы очень честны. Вопрос может быть простым, но при реализации некоторых функций важны мелочи. Esp вещи, связанные с манипуляциями со строками. Я считаю, что Stackoverflow лучше всего подходит для этого. Поэтому, пожалуйста, не предвзято относитесь.