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

时间:2010-06-22 09:36:09

标签: c# string substring

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

我有像“'02HEX'aspoodsasas'CR''LF'”这样的叮咬

现在我想在char(02)和char(12)之间提取stings;

到现在为止我做了以下

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 个答案:

答案 0 :(得分:8)

只需减去:

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"

答案 1 :(得分:1)

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