Функции вставки и замены подстрок

При обработке строк часто требуется вставить подстроки или заменить подстроки. Удаление подстроки из строки можно рассматривать как частный случай замены, а именно замены удаленной подстроки пустой строкой. С помощью метода String можно написать программу для решения этой задачи. Для этого создадим функцию myStr(), с помощью которой будет вставлена строка в исходную строку. Данная функция будет иметь три параметра:

        

function myStr(х1,х2,i) {
    return x1.slice(0,i)+x2+x1.slice(i)
    }

        

Где,     

   

Рассмотрим пример.

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Методы String</title>
<script language="JavaScript">
x1="Привет всем!"
x2="Изучайте JavaScript и вы не пожалеете об этом!".fontcolor('FF00F0')

function myStr(){

return x1.slice(0,13)+x2+x1.slice(13)
}
document.write(myStr())
</script>

</head>

<body>
</body>
</html>

Где, fontcolor('FF00F0') — метод форматирования строк, задает цвет строки.

В окне веб-браузера это будет выглядеть ТАК.

Теперь создадим функцию myStr1, которая заменяет в исходной строке все вхождения заданной подстроки на подстроку замены. Она должна иметь три параметра:

                                   

Находим прежде всего все вхождения х2 в х1. Если исходная строка не содержит в себе подстрок х2, то функция должна вернуть исходную подстроку без всяких изменений. В противном случае требуется изъять из х1 все вхождения в х2, а на их место вставить подстроку х3.Полученная таким образом строка должнавозвращаться функцией в качестве результата.

function myStr1(x1,x2,x3){
var x="" //Обработанная часть строки
while (true) {
i=x1.indexOf(x2) //индекс вхождения х1 в х2
if (i>=0) {
x=x+x1.substr(0,i) + x3 //обработанная часть строки
x1=x1.substr(i+x2.length) //оставшаяся часть строки
}else break

}
return x+x1
}

Где,

   

Рассмотрим пример.

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Методы String</title>
<script language="JavaScript">
x1="Привет всем! "
x2="Изучайте JavaScript"
x3=" и вы не пожалеете об этом!"
function myStr1(){
var x="" //Обработанная часть строки
while (true) {
i=x1.indexOf(x2) //индекс вхождения х1 в х2
if (i>=0) {
x=x+x1.substr(0,13) + x3 //обработанная часть строки
x1=x1.substr(13+x2.length) //оставшаяся часть строки
}else break
}
return x+x1
}

document.write(myStr1())
</script>

</head>

<body>
</body>
</html>

В окне веб-браузера это будет выглядеть ТАК.




  • Другие |
назадвверхвперед
Rambler's Top100