【问题标题】:get the characters before and after certain character having variable length [duplicate]获取具有可变长度的某个字符之前和之后的字符[重复]
【发布时间】:2019-05-06 06:00:50
【问题描述】:

我正在尝试获取出现在某个字符(“-”)之前和之后的字符。

string val = "7896-2-5";
    7896-2-5 here I want to get the character that appear between the two dashes i.e. 2
string val = "4512-12-5"; 
    4512-12-5 so here 12,

- 的第一次出现的位置是从左侧固定的,但- 的第二次出现的位置是由两个 - 之间的字符决定的,可以是一位数或两位数。

如何获得角色?

【问题讨论】:

  • 使用string.Split
  • val.Split('-')[1] 这个呢??
  • @mjwills 是的,只有两个 -

标签: c# asp.net substring


【解决方案1】:

最简单的方法是使用 string.Split('-')

例如

var middleDigit = string.Split('-')[1];

【讨论】:

    【解决方案2】:

    如果你的字符串应该有两个破折号试试这个:

    string myString = "4512-12-5";
    string result="";
    if(myString.Count(f => f =='-') == 2)
        result = myString.Substring(myString.IndexOf('-') + 1 ,myString.LastIndexOf('-') - myString.IndexOf('-') - 1);
    else
        result = "string is not well formated";
    Console.WriteLine(result);
    

    【讨论】:

      猜你喜欢
      • 2021-01-09
      • 2018-06-27
      • 1970-01-01
      • 1970-01-01
      • 2017-09-12
      • 2013-02-07
      • 1970-01-01
      • 2022-11-23
      • 1970-01-01
      相关资源
      最近更新 更多