Какой самый чистый способ сделать это будет работать как в IE, так и в Firefox.
Моя строка выглядит так: sometext-20202
Теперь «sometext» и целое число после тире могут иметь различную длину.
Должен ли я просто использовать подстроку и индекс или есть другие способы?
javascript
mrblah
источник
источник
sometext-20202-303
?get everything after the dash in a string in javascript
который в этом случае потерпит неудачу.Решение, которое я предпочитаю, будет:
Где
slug
будет ваш результатисточник
источник
источник
AFAIK, оба
substring()
иindexOf()
поддерживаются как Mozilla, так и IE. Однако обратите внимание, что substr () может не поддерживаться в более ранних версиях некоторых браузеров (особенно Netscape / Opera).Ваше сообщение указывает, что вы уже знаете, как это сделать, используя,
substring()
иindexOf()
поэтому я не публикую пример кода.источник
Вы можете сделать это с помощью встроенной RegExp (pattern [, flags]) фабричной нотации в js следующим образом:
В приведенном выше коде функция exec вернет массив с двумя элементами (["-20202", "20202"]), один с дефисом (-20202) и один без дефиса (20202), вы должны выбрать второй элемент (индекс 1)
источник
источник
myString.split('-').splice(-1).join('-')
Используйте регулярное выражение в форме: \ w- \ d +, где a \ w представляет слово, а \ d представляет цифру. Они не будут работать из коробки, так что поиграйте. Попробуй это .
источник