2011-10-04 71 views
0

是否有任何方法可以在2個符號之間提取文本?我已被告知使用方法:提取2個符號之間的字符或單詞

var email = "[email protected]"; 
document.write(email.substring(.,@)); 

使用子似乎只與性格,而不是符號的位置工作。我只是想提取「。」之間的字符。和 「@」

+0

使用'indexOf()'。 –

回答

0

你可以使用RegExp

var email = "[email protected]"; 
email.replace(/.+\.(.+)@.+/, '$1'); // surname 

或者你可以使用子:

email.substring(email.indexOf('.')+1, email.indexOf('@')) 
+0

你的兩種方法並不完全等價。考慮輸入'first.middle.last @ someplace' – NullUserException

+0

感謝您的快速答案也:) :)兩個工作:) – JammyDoger

+0

@JammyDoger僅供參考,'indexOf'解決方案將給''middle.last'首次使用時'。 middle.last @ email.com',而正則表達式解決方案只給出'last'(儘管你可能不想在這裏使用'.replace') – NullUserException

1

當然,你可以使用正則表達式:

var lastname = email.match(/[.]([^.]+)@/)[1] 

說明:

[.]  # match dot literally 
(  # open capture group 
    [^.]+ # match anything other than a dot 
)  # close capture group 
@  # match @ character 
+0

謝謝你的快速回答:)但我必須使用子字符串,雖然你的答案工作:) – JammyDoger

相關問題