在字符串中搜索值

时间:2014-05-10 19:20:42

标签: c# string

我有一个字符串,其格式为:

string | time stamp in milliseconds | int counter | string

我需要能够只获取计数器值。将有许多消息,因此时间戳和计数器将随着每条消息而增加。 我正在使用字符串构建器来传入消息。

在每个字符串消息中获取计数器的最佳方法是什么?

sb.Append(Encoding.ASCII.GetString(state.buffer, 0, bytesRead));
string content = sb.ToString();

谢谢

3 个答案:

答案 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获取计数器部分。