【发布时间】:2020-01-25 01:25:08
【问题描述】:
我有以下字符串,变量为s:
Room: 501, User: John, Model: XPR500 Serial: JK0192, Condition: Good
我想提取模型XPR500 和序列号JK0192
我能够使用以下代码获取模型:
int pFrom = s.IndexOf("Model: ") + "Model: ".Length;
int pTo = s.LastIndexOf(" Serial:");
String model = s.Substring(pFrom, pTo - pFrom);
但是,我很难获得序列值。我已经尝试过这段代码:
int pFromt = s.IndexOf("Serial: ") + "Serial: ".Length;
int pToT = s.LastIndexOf(", ");
string serial = s.Substring(pFromt, pToT - pFromt);
但它会返回
JK0192,Condition: Good
我无法从 Serial: 和下一个逗号中获取所有内容。
谁能看出我哪里出错了?
【问题讨论】:
-
所以
,似乎有时是一个分隔符,但并非总是如此。为什么不在Model: XPR500 Serial: JK0192之间?模型和序列之间的那些空格,还是其他字符?另一个字符可能会呈现为空格。也可能是标签在复制粘贴中丢失了? -
这就是从其他来源导出数据的方式。型号和序列号之间永远不会有逗号,但在两者之前/之后可能会有更多的逗号
-
它们之间总是有多个空格吗?这些真的是空间吗?
-
确实是3个空格,不是制表符
-
那么你能把字符串分成3个空格吗?