【发布时间】:2012-11-04 21:52:06
【问题描述】:
我有一个包含以下文本的字符串:
:0c4b7fcdffc38322555a9e35c22c9469:Nick:194176015020283762507:
如何解析最终数字?即:
194176015020283762507
【问题讨论】:
我有一个包含以下文本的字符串:
:0c4b7fcdffc38322555a9e35c22c9469:Nick:194176015020283762507:
如何解析最终数字?即:
194176015020283762507
【问题讨论】:
您应该首先使用String.Split() 用冒号(':')分隔符分隔字符串。然后访问正确的元素。
var input = ":0c4b7fcdffc38322555a9e35c22c9469:Nick:194176015020283762507:";
var split = input.Split(':');
var final = split[3];
请注意,默认情况下,Split() 保留空条目。由于初始冒号和结尾冒号,您将在开头和结尾都有一个。你也可以使用:
var split = input.Split(new[] {':'}, StringSplitOptions.RemoveEmptyEntries);
var final = split[2];
正如选项所暗示的那样,它从数组中删除空条目。因此,您的号码将位于索引 2 而不是 3。
【讨论】:
Split 方法没有重载,它接受 char 和 split 选项。
string str = ":0c4b7fcdffc38322555a9e35c22c9469:Nick:194176015020283762507:";
string num = str.Split(':')[3];
【讨论】:
var finalNumber = input.Split(new char[] { ':' }, StringSplitOptions.RemoveEmptyEntries)
.Last()
此代码会将您的输入字符串拆分为以: 分隔的字符串(从序列的开头和结尾删除空字符串)。并返回最后一个字符串,即您的 finalNumber。
【讨论】: