代码之家  ›  专栏  ›  技术社区  ›  adopilot

关于C中子字符串的简单问题#

  •  0
  • adopilot  · 技术社区  · 16 年前

    这也许太容易了,但我不知道从哪里开始。

    我有“02hex”的刺,就像“cr”一样。

    现在我要提取char(02)和char(12)之间的刺痛;

    直到现在我都在跟踪

    string s = string.Format("{0}{1}{2}", (char)02, "12345678", (char)12);
    int chindx = s.IndexOf((char)02)+1;
    s = s.Substring(chindx, 8)
    

    我的问题是,如果知道起始字符的位置和结束字符在字符串中的位置,如何确定子字符串的长度

    2 回复  |  直到 16 年前
        1
  •  8
  •   Jon Skeet    16 年前

    只是减去:

    string middle = text.Substring(start, end - start);
    

    (假设你 不要 希望角色在适当的位置 end -如果这样,只需添加一个。)

    例如:

    string text = "hi there";
    int start = 3; // 't'
    int end = 6; // 'r'
    string middle = text.Substring(start, end - start); // "the"
    
        2
  •  1
  •   Simon    16 年前

    简单的减法就可以了。结束位置-开始位置(减去第一个标记的长度)

    推荐文章