В JS есть три обычно используемых Slice (), substr () и substr () в функции перехвата символов. Позвольте мне представить вам некоторые функции использования и различия между slice (), substr () и substr () при перехвате символов.
Три функции для принятия строк: срез (старт, [end]), подстроение (start, [end]) и substr (start, [длина])
Связанные атрибуты:
Slice ()
Первый параметр представляет собой исходную позицию, второй параметр представляет следующую позицию конечной позиции, а длина перехваченной строки - это разница между вторым параметром и первым параметром; Если значение параметра является отрицательным, значение добавляется в длину строки и преобразуется в положительное значение; Если первый параметр равен больше, чем второй параметр, возвращается пустая строка.
Substring ()
Первый параметр представляет начальную позицию, а второй параметр представляет следующую позицию конечной позиции; Если значение параметра является отрицательным, значение преобразуется в 0; Среди двух параметров меньшее значение принимается в качестве начальной позиции, а длина перехваченной строки - это разница между большим значением и меньшим значением.
substr ()
Первый параметр представляет начальную позицию, а второй параметр представляет перехваченную длину
PS: все строки начинаются с 0
пример:
<script type = "text/javascript"> var stmp = "rcinn.cn"; // Использовать одно параметр оповещения (STMP.Slice (3)); // от четвертого символа перехватить последнего персонажа; вернуть оповещение «nn.cn» (STMP.SubString (3)); // от четвертого символа перехватить последнего персонажа; вернуть "nn.cn" // Использовать два параметра оповещения (STMP.Slice (1,5)) // от второго символа до пятого символа; вернуть оповещение "cinn" (STMP.Substring (1,5)); // от второго персонажа, до пятого персонажа; Верните «cinn» // Если используется только один параметр и равен 0, затем верните все оповещение параметра (stmp.slice (0)); // возвращать все предупреждение о строке (stmp.substring (0)); // возвращать всю строку // return (stmp.slice (0,1)); // return "r" alert (stmp.substr // В приведенном выше примере мы видим, что использование slice () и substring () одно и то же // возвращаемые значения одинаковы, но когда параметры отрицательны, их возвращаемые значения разные. См. Следующий пример Alert (STMP.Slice (2, -5)); // Возврат "I" Alert (STMP.SubString (2, -5)); // Возврат "rc" // из двух вышеупомянутых примеров мы видим, что срез (2, -5) на самом деле является срезом (2,3) // негативное 5 плюс. вернулся); // подстроение (2, -5) на самом деле является подстрокой (2,0), а отрицательные цифры преобразуются в 0, подстроение всегда требует меньшего числа в качестве исходного положения. Alert (STMP.SubString (1,5)) // Начать со второго персонажа до пятого символа; вернуть «CINN» оповещение (STMP.Substr (1,5)); // Начать со второго символа, перехват 5 символов; вернуть "Cinn." </script>
Разница между методами субстрата и подстроения
<script type = "text/javascript"> var str = "0123456789"; // alert(str.substring(0));//---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Alert (Str.Substring (-10)); // -------------- "0123456789" alert(str.substring(-12));//-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- alert(str.substring(2,2));//----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- alert(str.substr(5));//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- alert(str.substr(0,10));//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Alert (str.substr (-1,5)); // -------------- "01234" Alert (str.substr (-1, -5)); // ------------------- "" </script>
Функция: split ()
Функция: используйте указанный сепаратор, чтобы разделить строку на массив
пример:
str = ”jpg | bmp | gif | ico | png"; arr = theString.split ("|"); // arr - это массив, содержащий значения символов "jpg", "bmp", "gif", "Ico" и "png"Функция: John ()
Функция: используйте разделитель по вашему выбору, чтобы объединить массив в строку
пример:
var delimitedString = myarray.join (delimiter); var mylist = new Array («jpg», «bmp», «gif», «ico», «png»); var portablelist = mylist.join ("|"); // Результат jpg | bmp | gif | pngФункция: indexof ()
Функция: вернуть подписку первого символа, соответствующего подстроению в строке
var mystring = ”javascript»; var w = mystring.indexof (”v”); w будет 2var x = mystring.indexof (”s”); x будет 4var y = mystring.indexof (”script»); y также будет 4var z = mystring.indexof (”key”);
Я видел еще один очень простой метод в Интернете, код выглядит следующим образом:
функция func (s, n) {return s.replace (/([^x00-xff])/g, "$ 1a"). Slice (0, n) .replace (/([^x00-xff]) A/g, "$ 1"); }Этот метод очень умный и в основном правильный. Говорят «в основном», потому что, когда она требует подстроения с длиной 6 слева от «Тест 123 китайского персонажа», он возвращает «123 китайские иероглифы», а не «123 китайцы». Конечно, это не обязательно проблема, и в некоторых случаях требования могут быть такими. Этот метод можно улучшить следующим образом:
функция func (s, n) {return s.slice (0, n) .replace (/([^x00-xff])/g, "$ 1a"). Slice (0, n) .Replace (/([^x00-xff]) a/g, "$ 1"); }Выше приведено в этой статье, я надеюсь, что для всех будет полезно изучить программирование JavaScript.