我有一个像这样的字符串:
some_string = "A simple demo of SMS text messaging.\r\n+CMGW: 3216\r\n\r\nOK\r\n\"
即时通讯来自vb.net,我需要在c#中知道,如果我知道CMGW的位置,如何从中获取“ 3216”?
我知道我的起点应该是CMGW + 6的位置,但是一旦找到“ \ r”,我如何使它停止?
再次,我的最终结果应该是3216
谢谢!
最佳答案
从您感兴趣的地方开始找到\r
的索引,然后使用Substring
overload which takes a length:
// Production code: add validation here.
// (Check for each index being -1, meaning "not found")
int cmgwIndex = text.IndexOf("CMGW: ");
// Just a helper variable; makes the code below slightly prettier
int startIndex = cmgwIndex + 6;
int crIndex = text.IndexOf("\r", startIndex);
string middlePart = text.Substring(startIndex, crIndex - startIndex);