List<string>中字符串调用.Split(' ').Last()未获预期结果
问题原因及解决方案
从输出结果能明显看出,Utility.setup_List[0].freqFullLocationName这个字符串末尾带有一个空格(看第三个输出行的末尾就能发现)。
当用Split(' ')拆分该字符串时,末尾的空格会被拆出一个空字符串元素,.Last()取到的自然就是这个空字符串,所以第4个输出为空。
解决方法
有两种直接有效的处理方式:
1. 先清空白再拆分
拆分前调用Trim()方法,去掉字符串首尾的所有空白字符(包括空格、换行符等):
print("4) " + Utility.setup_List[0].freqFullLocationName.Trim().Split(' ').Last());
2. 拆分时自动忽略空元素
使用Split的重载方法,传入StringSplitOptions.RemoveEmptyEntries参数,让拆分过程自动过滤掉空字符串元素:
print("4) " + Utility.setup_List[0].freqFullLocationName.Split(new[] {' '}, StringSplitOptions.RemoveEmptyEntries).Last());
两种方法都能让你正确获取到最后一个有效单词Sverige。
内容的提问来源于stack exchange,提问作者PeterK
相关产品推荐
相关产品推荐

