Як видалити частину рядка перед ":" у JavaScript?


111

Якщо у мене є рядок Abc: Lorem ipsum sit amet, як я можу використовувати JavaScript / jQuery для видалення рядка перед :включенням :. Наприклад, вище рядок буде: Lorem ipsum sit amet.


2
Я додав тег javascript, оскільки він знаходиться в запитанні і більше стосується питання, ніж jquery.
Спудлі

Відповіді:


290

Тут немає необхідності в jQuery, звичайний JavaScript буде робити:

var str = "Abc: Lorem ipsum sit amet";
str = str.substring(str.indexOf(":") + 1);

Або версія .split()та .pop()версія:

var str = "Abc: Lorem ipsum sit amet";
str = str.split(":").pop();

Або версія зразка (кілька варіантів цього):

var str = "Abc: Lorem ipsum sit amet";
str = /:(.+)/.exec(str)[1];

1
Чудова відповідь, я люблю різні рішення
Aardvark

22
Зверніть увагу, якщо :в рядку є більше одного , другий варіант поверне рядок після останнього, а не першого, як в інших. Прикро, що в split()методі JS не існує розрізненого лише раз n-разів , який би дозволив вам зробити стиль Python .split(':', 1)[1]. (Там є необов'язковим numberаргументом, але він не робить те , що будь-яка розумна людина буде очікувати.)
bobince

@bobince - Ти маєш рацію, я тут трохи припускаю, що він має послідовний label: somethingформат, якщо це не так, я б пішов із першим варіантом.
Нік Крейвер

2
Ви можете розділити та приєднатись, щоб скинути деякі елементи на основі роздільника. "Abc:Lorem_ipsum_sit_amet".split(':').slice(1).join('.');
Амрітеш Ананд
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.