2016-03-31 15 views
3

私はStringを返すメソッドを持っています。 contactという文字列は複数の小さな文字列でできています。これらの小さな文字列は、そのメソッドのパラメータでした。文字列のコンポーネントを分離する方法は?

exemple:

String contact = id + " " + name + " " + telNum; 
return contact; 

今私は、パラメータとしてcontactを取るが、それは名前だけを返す必要がある別の方法を持っています。

私の質問は、どのように小さな文字列nameを完全な文字列の連絡先から分離することができますか?

+0

これはすでに明らかに複数回回答されています:http://stackoverflow.com/questions/950409/how-to-parse-this-string-in-java –

+3

私はあなたがそのためのクラスを持っているべきだと思います。 – JanLeeYu

+0

[Javaで文字列を分割する方法]の複製があります(http://stackoverflow.com/questions/3481828/how-to-split-a-string-in-java) –

答えて

2

使用

String[] splits = contact.split(" "); 
String name = splits[1]; 
+2

は、名前に空白が含まれていると失敗します – MrSimpleMind

+0

それはユースケースです:p。論理的に行うべきである –

+1

ありがとう、それはとても役に立ちました。 –

0

あなたのIDは、番号と電話番号のみが+または任意の数字で始まるされているなら、あなたは簡単にそれから名前を得ることができます。

1

Viswanathの答えは、文字列関数を使用して文字列から名前を取得する方法を示しています。

public class Contact { 
    public String id; 
    public String name; 
    public String tel; 

    public String toString() { return id + " " + name + " " + telNum; } 
} 

[連絡先オブジェクトの周りの代わりに、接触を表す文字列を渡す:あなたが情報を保持しているContactクラスを作成するために検討することもでき、代替として

+0

ありがとうございます。制限のために別のクラスを作成することはできません。私はあなたの助けに感謝します。 –

0
String name = contact.substring(contact.indexOf(" ", 0)+1, contact.indexOf(" ", contact.indexOf(" ", 0)+1); 
1

idとtelNumた場合は、あなたの文字列はカンマなどの区切りを、持っている場合、それは簡単なはず

int startIndex = contact.indexOf(" "); 
int endIndex = contact.lastIndexOf(" "); 
String name = contact.substring(startIndex, endIndex).trim(); 

ような何かを行うことができ、2つの整数/ long値です。

Ex.: String contact = id + ", " + name + ", " + telNum; 

この場合、「、」または「、」のインデックスを検索することもできます。

関連する問題