Winforms C#更改字符串文本顺序
我是C#新手,我得到的用户名是系统生成的,格式如下: 姓 我想将其更改为添加到数据库 FirstName.LastNameWinforms C#更改字符串文本顺序,c#,string,C#,String,我是C#新手,我得到的用户名是系统生成的,格式如下: 姓 我想将其更改为添加到数据库 FirstName.LastName 我完全被困在如何做到这一点上,任何帮助都会很好,如果订单总是以“Lastname,Firstname”的形式出现,以下代码应该可以工作: var variableContainingLastNameFirstName = "LastName, FirstName"; var split = variableContainingLastNameFirstName.Split
我完全被困在如何做到这一点上,任何帮助都会很好,如果订单总是以“Lastname,Firstname”的形式出现,以下代码应该可以工作:
var variableContainingLastNameFirstName = "LastName, FirstName";
var split = variableContainingLastNameFirstName.Split(new char[] {',' });
var firstNamelastName = string.Format("{0}, {1}", split[0], split[1]);
如果顺序始终为“Lastname,Firstname”,则以下代码应适用:
var variableContainingLastNameFirstName = "LastName, FirstName";
var split = variableContainingLastNameFirstName.Split(new char[] {',' });
var firstNamelastName = string.Format("{0}, {1}", split[0], split[1]);
试试这个:
string username = "LastName, FirstName";
string[] words = username.Split(new string[]{", "});
string result = words[1] + "." + words[0]; // storing
// for output
Console.WriteLine("{0}.{1}", words[1], words[0]);
Console.WriteLine(result);
试试这个:
string username = "LastName, FirstName";
string[] words = username.Split(new string[]{", "});
string result = words[1] + "." + words[0]; // storing
// for output
Console.WriteLine("{0}.{1}", words[1], words[0]);
Console.WriteLine(result);
它会保留逗号(LastName,[space]FirstName)后的空格,不是吗?这里的两个Trim()调用应该可以很好地解决这个问题。我更喜欢在逗号字符上使用拆分与
Trim
调用相结合的解决方案,而不是在字符串上拆分,“
,因为如果任何输入恰好是“Firstname,Lastname”
,并且没有空格(除非这被认为是一个错误案例),它将优雅地处理这些输入。@Fredrik,说得好。。当我把我的答案放在一起时,我没有想到它会保留逗号(LastName,[space]FirstName)后的空格,不是吗?在那里的几个Trim()调用应该可以很好地解决这个问题。我更喜欢这种解决方案,在逗号字符上拆分,再结合Trim
调用,而不是在字符串上拆分,“
,因为如果任何输入恰好是“Firstname,Lastname”
,并且没有空格(除非这被认为是一个错误案例),它将优雅地处理这些输入。@Fredrik,说得好。。当我把答案放在一起时,我没有想到这一点(答案=)这个问题与WinForms没有真正的关系。