#javascript #substring #extract #symbols
#javascript #подстрока #извлечение #символы
Вопрос:
Есть ли какой-либо способ извлечь текст из 2 символов? Мне сказали использовать:
var email = "forename.surname@arco.co.uk";
document.write(email.substring(.,@));
Использование substring, похоже, работает только с позицией символа, а не с символами. Я просто хочу извлечь символы между «.» и «@»
Ответ №1:
Конечно, вы можете использовать регулярное выражение:
var lastname = email.match(/[.]([^.] )@/)[1]
Объяснение:
[.] # match dot literally
( # open capture group
[^.] # match anything other than a dot
) # close capture group
@ # match @ character
Комментарии:
1. Спасибо за быстрый ответ 🙂 Но я должен использовать подстроку, хотя ваш ответ сработал 🙂
Ответ №2:
Вы могли бы использовать регулярное выражение:
var email = "forename.surname@arco.co.uk";
email.replace(/. .(. )@. /, '$1'); // surname
Или вы могли бы использовать substring:
email.substring(email.indexOf('.') 1, email.indexOf('@'))
Комментарии:
1. Ваши два метода не совсем эквивалентны. Рассмотрим ввод
first.middle.last@someplace
2. @JammyDoger К вашему сведению,
indexOf
решение даст вамmiddle.last
при использованииfirst.middle.last@email.com
, в то время как решение регулярных выражений дает вам толькоlast
(хотя вы, вероятно, не хотите использовать.replace
здесь)