选择字符串C#中的一个部分

时间:2017-05-05 15:03:16

标签: c# asp.net string

我有字符串

string AccountName= "123456789 - Savings - 20$"

现在我只想选择帐户名储蓄。这意味着-s之间的部分。

该数据是动态数据。那么,请你给我一个想法,让两个字符串之间的字符串。即AccountName =" Savings"。

提前谢谢.. !!

3 个答案:

答案 0 :(得分:1)

您可以采取的方法之一:

  • 按' - '
  • 拆分字符串
  • 获取数组的位置1
  • 修剪值以删除空格

    var AccountNameSplited = AccountName.split(' - ')[1] .Trim();

在这种情况下你应该采取防御措施:

var AccountNameBt = AccountName.Split('-');
var AccountNameBtPos1 = string.Empty;
if (AccountNameBt != null && AccountNameBt.Count() > 0)
AccountNameBtPos1 =AccountNameBt[1].Trim();

答案 1 :(得分:0)

怎么样:

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();

答案 2 :(得分:0)

使用正则表达式:

AccountName = Regex.Match(AccountName, @"-\s*(.*?)\s*-").Groups[1].Value;

演示:https://dotnetfiddle.net/3Xr24T