Примітка: якщо ви поспішаєте та / або шукаєте коротку відповідь, прокрутіть до нижньої частини відповіді та прочитайте два останні рядки. Якщо не поспішайте прочитати всю справу.
дозвольте мені розпочати, констатуючи факти:
Синтаксис:
string.slice(start,end)
string.substr(start,length)
string.substring(start,end)
Примітка №1:slice()==substring()
Що це робить?
У slice()
методі витягує частину рядка і повертає Витягнуті частини в новому рядку.
У substr()
метод витягує частину рядка, починаючи з символу в заданому положенні, і повертає задане число символів.
У substring()
методі витягує частину рядка і повертає Витягнуті частини в новому рядку.
Примітка №2:slice()==substring()
Змінює початковий рядок?
slice()
Не
substr()
робить, не
substring()
зазначає
№3:slice()==substring()
Використання негативних чисел як аргумента:
slice()
вибирає символи, починаючи з кінця рядка,
substr()
вибирає символи, починаючи з кінця рядка.
substring()
Не виконує
Примітка №3:slice()==substr()
якщо Перший аргумент більший, ніж другий:
slice()
не
substr()
виконує, оскільки другий аргумент НЕ позиція, а значення довжини, він буде виконуватись як завжди, без проблем
substring()
замінить два аргументи та виконає як завжди
Перший аргумент:
slice()
Обов’язковий, вказує: Початковий індекс
substr()
необхідний, вказує: Початковий індекс
substring()
необхідний, вказує: Початковий індекс
Примітка №4:slice()==substr()==substring()
Другий аргумент:
slice()
Необов'язково, Позиція (до, але не включаючи), де закінчити видобуток
substr()
Необов'язково, Кількість символів для вилучення
substring()
Необов'язково, Позиція (до, але не включаючи), де закінчити вилучення
Примітка №5:slice()==substring()
Що робити, якщо другий аргумент пропущено?
slice()
вибирає всі символи від початкової позиції до кінця рядка
substr()
вибирає всі символи від початкової позиції до кінця рядка
substring()
вибирає всі символи від початкової позиції до кінця рядка
Примітка № 6:slice()==substr()==substring()
тож можна сказати, що між ними є різниця slice()
і substr()
, substring()
в основному, копією slice()
.
у підсумку:
якщо ви знаєте індекс (позицію), на якому ви зупинитесь (але НЕ включаєте), використовуйте, slice()
якщо ви знаєте довжину символів, які потрібно витягти substr()
.
slice
- це найменш несподівана поведінка.