【发布时间】:2016-03-10 23:22:07
【问题描述】:
我想从 c# 中的结果文本中获取子字符串 XXX 和 ZZZ
文本形式:("; XXX; ZZZ; WWW") 但是
Result.LastIndexOf(";")
不影响,因为我有 ";" char 用于单独的两个单词
而且我找不到第一个和第二个";" char 的索引。
【问题讨论】:
-
由
;分割并在split 给出的数组中搜索XXX和ZZZ。
我想从 c# 中的结果文本中获取子字符串 XXX 和 ZZZ
文本形式:("; XXX; ZZZ; WWW") 但是
Result.LastIndexOf(";")
不影响,因为我有 ";" char 用于单独的两个单词
而且我找不到第一个和第二个";" char 的索引。
【问题讨论】:
; 分割并在split 给出的数组中搜索XXX 和ZZZ。
这里是解决方案。只需按特殊字符拆分即可。
string x = "; XXX; ZZZ; WWW";
string[] y = x.Split(';');
现在你有
y[0] = "";
y[1] = " XXX";
y[2] = " ZZZ";
y[3] = " WWW";
【讨论】:
string 没有任何仅小写的方法,实际的 Split 方法仅接受 char、char[] 或 string[] 作为分隔符。
使用string.Split()分割输入字符串并使用string.Trim()删除空格:
var str = "; XXX; ZZZ; WWW";
var parts = str.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries)
.Select(x => x.Trim());
foreach (var part in parts)
Console.WriteLine(parts);
结果与问题中的要求完全相同,并且没有空值:
XXX
ZZZ
WWW
【讨论】:
谢谢,解决了。
string[] ResultTemp = Result.Split(new char[] { ';' });
foreach (string a in ResultTemp) {
if (a !="") {
System.Windows.Forms.MessageBox.Show(a);
}
}
【讨论】: