behappy9192837 Ответов: 2

Программа предназначена для проверки наличия подстроки в строке


<!DOCTYPE html>
<html>
<body>



<p id="demo"></p>

<script>
var txt="my name is pawavn pawan";
var newtxt="Pawan";
var j=0;
var i=0;
var k=0;
var reverse = "true";

for (i=0; i<txt.length-1; i++){
if (txt[i]==newtxt[0]){
k=i
}
}

i=1
for(j=k+i;j<=k+newtxt.length-1;j++) {
   if(txt[j]!=newtxt[i]) {
    reverse = "false";
    }
    i++;
 }

document.getElementById("demo").innerHTML = reverse;



</script>

</body>
</html>


Что я уже пробовал:

this is a program which will return true if a substring is in a string otherwise it will return false, my is returning false but pawan is the substring which is in the string

2 Ответов

Рейтинг:
1

OriginalGriff

Сравнение символов в Javascript - как и в большинстве других языков - чувствительно к регистру: "а" - это не то же самое, что "а".
Так что если вы посмотрите в строку "my name is pawavn pawan" вы не найдете подстроку "Pawan" но вы найдете подстроку "pawan"

Есть много способов обойти это: преобразование обеих строк в верхний или нижний регистр перед началом поиска - это одно, использование регулярного выражения для поиска подстроки-другое - google найдет вам много примеров, если вы начнете искать "Javascript case insensitive substring"


Рейтинг:
0

Sandeep Mewara

Цитата:
он вернет false, my возвращает false, но pawan-это подстрока, которая находится в строке

Это из-за дела. Ваш текст 'Паван и ваш текст поиска 'Паван'. Ваша программа не заботится о случаях и не различает их.

1. Держите тот же корпус, что и ожидалось.
2. корпус ручки, например: toLowerCase() ОПЕРАЦИОННАЯ toUpperCase()

Пример:
var str = "Hello World!";
var res = str.toUpperCase();

Ссылаться:
JavaScript String toUpperCase() метод[^]
Метод JavaScript String toLowerCase() [^]