2011-08-11 229 views
4

的一個部分,我有這個字符串:刪除字符串

String myStr = "[email protected]" 

我想只是從myStr「something.bad」?

+0

它會永遠是一個電子郵件地址,你想要什麼之前@或者它只是一個你需要的子字符串? – talnicolas

+0

它將始終是電子郵件格式 –

+0

然後Jon Skeet的答案是 – talnicolas

回答

12

你只需要使用具有發現substring右手食指在砍:

int index = myStr.indexOf('@'); 
// TODO: work out what to do if index == -1 

String firstPart = myStr.substring(0, index); 

編輯:相當明顯,上述發生之前第一@的子字符串。如果你想在子前的最後@你可以這樣寫:

int index = myStr.lastIndexOf('@'); 
// TODO: work out what to do if index == -1 

String firstPart = myStr.substring(0, index); 
+1

實際上,因爲我們談論的是電子郵件 - 而且我們都知道合法的電子郵件地址實際上可能包含@s--所以應該使用lastIndexOf。並不是說任何人都會使用這樣的電子郵件地址,因爲幾乎每個網站都包含上述代碼,所以它可能在現實中並不重要;) – Voo

+0

@Voo:那麼,我們並不真正瞭解OP想要什麼。也許,也許不是。 –

+0

他在評論他的原始文章時說,它始終是電子郵件格式。 – Voo

5

您可以使用

String str = myStr.split("@")[0]; 

將分成兩個部分的字符串,然後就可以得到第一String元素

+1

這是更專業。 – Nook