2016-04-12 15 views
-2

こんにちは私は人の名字を取得しようとしています。私のテーブルでは、私はそう名前からフルネームの文字列を取得する方法

João Afonso de Santos Silva 

のような人のフルネームを受けるが、私は

first name João and then his last name Silva 

を取得し、thoes 2つの文字列を結合する必要があるフィールドを持っています。最終結果は次のようになります。

João Silva 

いずれかの提案がありますか?

+0

〔のstring.Split()](https://msdn.microsoft.com/en-us/library/system.string.split(V = vs.110)の.aspx)、次いで、第一の組み合わせおよび配列の最後の項目です。 –

+0

@StephenMueckeは確かに唯一可能な解決策です。 space charで分割する必要があります。 –

+2

これはSQL Serverまたは.NETの質問ですか?何を試しましたか、問題は何ですか? Abby Lee Jonesのような名前は何ですか? 'Abby'または' Abby Lee'はファーストネームですか? –

答えて

1

データの保存と取り込みを修正しました。

I.E:DBスキーマには、FirstNameとLastNameの2つのフィールドがあり、プレゼンテーションレイヤーでは、両方のフィールドを個別に取得します。

あなたの質問では、あなたはJoãoSilvaがあなたが望む名前であると主張します。しかし、これは間違っています。

あなたが欲しいものは、João(firstname)de Santos Silva(姓)です。あなたのシナリオでは、中位の名前(Afonso)も取得する必要があります。

最初に修復します。あなたが望むのは簡単です。

+0

はい私は私のDBを変更する必要があります、将来の多くの問題があります。あなたライト。 –

1

最初と最後に分割します。

string name = "João Afonso de Santos Silva"; 
string firstname = name.Split(' ').First(); 
string lastname = name.Split(' ').Last(); 
+0

結果を保持できるときに「分割」を2回呼び出すのはなぜですか?配列の作成は遅いです! –

関連する問題