Nex*_*xuz 0 c# arrays string loops list
我正在研究一种方法,它接受一个字符串并将其分成多个项目,然后将其存储在一个数组中.然后我执行检查以查看数组是否包含两个以上的项目,如果是,我将数组中的特定项目分配给相应的字符串,即将第一项分配给forename,将最后一项分配给姓氏,将所有其他项目分配给中间名称.
我的问题涉及检索数组中不是第一个或最后一个项目的每个项目,然后以正确的顺序将它们分配给字符串.下面你可以看到我试图抓取名称数组中的每个项目,并将结果分配给一个列表,然后可以将其转换为单个字符串,但没有运气.我正在寻找的是这个问题的解决方案.
public string SplitName(string text)
{
string forename;
string middlename;
string surname;
var name = text.Split(' ');
if (name != null)
{
if (name.Length > 2)
{
forename = name[0];
surname = name[name.Length - 1];
List<string> temp = new List<string>();
for (int i = 1; i < name.Length - 1; i++)
{
// Assign each item to middlename
}
text = string.Format("{0} {1} {2}", forename, middlename, surname);
}
}
else
{
text = "INVALID";
}
return text;
}
Run Code Online (Sandbox Code Playgroud)
使用String.Join(http://msdn.microsoft.com/en-us/library/tk0xe5h0.aspx)
public string SplitName(string text)
{
string forename;
string middlename;
string surname;
var name = text.Split(' ');
if (name != null)
{
if (name.Length > 2)
{
forename = name[0];
surname = name[name.Length - 1];
middlename = string.Join(" ", name, 1, name.Length - 2);
text = string.Format("{0} {1} {2}", forename, middlename, surname);
}
}
else
{
text = "INVALID";
}
return text;
}
Run Code Online (Sandbox Code Playgroud)
如果希望使用不同的字符串连接它们,请更改连接的第一个参数("").目前,名称"Bob Jack Willis Mills"将创建一个中间名"Jack Willis".如果你想"杰克,威利斯"使用","作为分隔符.
| 归档时间: |
|
| 查看次数: |
205 次 |
| 最近记录: |