2016-07-01 5 views
1

IamはDBに同期するプログラムを作成し、名前を取ります。したがって、最後の "スペース"の後の2文字列に解析する必要があります。最後のスペースの後に文字列を分割する

私はのようなものを持っているので、残りの文字列を返す方法

public static string getLastName(string fullname) 
{ 
    string lastName = fullname.Split(' ').LastOrDefault(); 
} 

:私は最後の名前を取得し、これまでにIVEが行わ何 ジョン・ドウとジャクソン

:に「ジョン・ドウ・ジャクソンの」名前を分割:

のfirstName:ジョン・ドウ

lastNameの:ジャクソン


EDIT:このようにすると、最もクリーンな方法ではありませんが、仕事が完了します!私は思いますが、string.Join

public static string getFirstName(string fullname) 
{ 
    return string.join(" ",fullname.Split(' ').Take(fullname.Split(' ').Count()-1)); 

} 

答えて

4

あなたはこのような何かを試みることができる

var lastSpaceIndex = fullName.LastIndexOf(' '); 
var firstName = fullName.Substring(0, lastSpaceIndex); 
var lastName = fullName.Substring(lastSpaceIndex+1); 

See it in action here

1

 public static string getLastName(string fullname) 
    { 
     string lastName = fullname.Split(' ').LastOrDefault(); 
     Console.WriteLine(lastName); 
     return lastName; 
    } 

    public static string getFirstName(string fullname) 
    { 
     var parts = fullname.Split(' '); 
     var lastName = parts.LastOrDefault(); 
     var firstName = string.Join(" ", parts.Take(parts.Length - 1)); 
     return firstName; 
    } 
3

を使用することができます

var parts = fullname.Split(' '); 
var lastName = parts.LastOrDefault(); 
var firstName = string.Join(" ",parts.Take(parts.Length-1)); 
0
string name = "John Doe Jackson"; 
var names = name.Split(' '); 
string firstname = names[0] + " " + names[1]; 
string lastname = names[2]; 
関連する問題