我有一个字符串,其格式为:
string | time stamp in milliseconds | int counter | string
我需要能够只获取计数器值。将有许多消息,因此时间戳和计数器将随着每条消息而增加。 我正在使用字符串构建器来传入消息。
在每个字符串消息中获取计数器的最佳方法是什么?
sb.Append(Encoding.ASCII.GetString(state.buffer, 0, bytesRead));
string content = sb.ToString();
谢谢
答案 0 :(得分:3)
如果字符串是这样的:
string strContent = "abc|1399718438000|100|def";
您可以使用Split方法
int iCounter = Convert.ToInt32(strContent.Split(new char[] {'|'})[2]);
或者最好在处理单个字符串以分割字符串时。
int iCounter = Convert.ToInt32(strContent.Split('|')[2]);
答案 1 :(得分:0)
您也可以使用:
int counter = Convert.ToInt32(strContent.Split('|').ToList().ElementAt(2));
答案 2 :(得分:0)
斯普利特在这里有点沉重。只需获取第二个和第三个分隔符的索引,并使用SubString获取计数器部分。