选择部分我有串字符串中的C#
string AccountName= "123456789 - Savings - 20$"
现在我只想选择ACCOUNTNAME储蓄。这意味着-s之间的部分。
该数据是动态数据。所以,请你给我一个想法,让之间的字符串的两部分之间。即AccountName =“储蓄”。
预先感谢您.. !!
选择部分我有串字符串中的C#
string AccountName= "123456789 - Savings - 20$"
现在我只想选择ACCOUNTNAME储蓄。这意味着-s之间的部分。
该数据是动态数据。所以,请你给我一个想法,让之间的字符串的两部分之间。即AccountName =“储蓄”。
预先感谢您.. !!
假设你的字符串将总是只有两个-s,你可以使用以下来获取它们之间的子串。如果不是这种情况,请修改问题以更好地描述问题。
string myString = AccountName.Split('-')[1];
检查在String类的拆分方法的详细信息了https://msdn.microsoft.com/en-us/library/system.string.split(v=vs.110).aspx。
谢谢。它为我解决。 – 123456
如何:
string AccountName = "123456789 - Savings - 20$";
String[] tokens = AccountName.Split(new[] { " - " }, StringSplitOptions.RemoveEmptyEntries);
AccountName = tokens.ElementAtOrDefault(1); // Savings
如果有可能,有没有空格:
String[] tokens = AccountName.Split(new[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
AccountName = tokens.ElementAtOrDefault(1)?.Trim();
使用正则表达式:
AccountName = Regex.Match(AccountName, @"-\s*(.*?)\s*-").Groups[1].Value;
一到,该方法可以:
微调值以删除空格
VAR AccountNameSplited = AccountName.split( ' - ')[1] .Trim();
你应该防守这一情况:
var AccountNameBt = AccountName.Split('-');
var AccountNameBtPos1 = string.Empty;
if (AccountNameBt != null && AccountNameBt.Count() > 0)
AccountNameBtPos1 =AccountNameBt[1].Trim();
请更加清晰。什么是预期的输出? – Steve
我更新了它..请再次查看我的查询。谢谢 – 123456
你可以使用正则表达式。 ''[Ss] \ S + [Ss]“' –