Eni*_*ate 0 .net c# linq string string-split
我试图拆分这个字符串
string s = "sn DC0000002; mac 00:0c; uuid 564d6ae4-979";
Run Code Online (Sandbox Code Playgroud)
我需要从字符串" DC0000002 "," 00:0c "," 564d6ae4-979 " 上面获取这些值
为此,我尝试了以下查询,但无法获得最后两个值,我的意思是这两个值(" 00:0c "," 564d6ae4-979 ")
以下是拆分查询
List<string> decryptedList = new List<string>();
decryptedList = decodePP.Split(';').Select(x => x.Split(' ')[1]).ToList();
orgSNo = decryptedList[0]; //Output - DC0000002
orgMacID = decryptedList[1];// output - mac // this is wrong need to get value
orgUUID = decryptedList[2]; //output - uuid // this is also wrong
Run Code Online (Sandbox Code Playgroud)
有人请求帮助这个查询如何在一次使用LINQ查询从上面的字符串中提取值?
只需修剪第一次拆分后得到的子串:
decodePP.Split(';').Select(x => x.Trim().Split(' ')[1]).ToList();
Run Code Online (Sandbox Code Playgroud)
您得到的结果不正确,因为第一次拆分会给您
[ "sn DC0000002", " mac 00:0c", " uuid 564d6ae4-979" ]
Run Code Online (Sandbox Code Playgroud)
如您所见,除第一个之外的项目具有前导空格.
替代解决方案 - 您可以使用StringSplitOptions.RemoveEmptyEntries参数跳过空子串
str.Split(';')
.Select(x => x.Split(new char[]{' '}, StringSplitOptions.RemoveEmptyEntries)[1])
.ToList()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1392 次 |
| 最近记录: |