一串C#中的子字符串工作不正常
本文关键字:字符串 工作 不正常 一串 | 更新日期: 2023-09-27 18:29:24
我面临字符串问题。C#中的Substring()
我的申请样本如下。
string myString = " Jun30/13 DU SJ9802";
List<string> list = new List<string>();
list.Add(myString.Substring(0,15));
list.Add(myString.Substring(0, 10));
list.Add(myString.Substring(9, 3));
list.Add(myString.Substring(9, 4));
当我看到结果时,它显示为
myString.Substring(0,15)
"2013年6月30日DU SJ"
myString.Substring(0,10)
"2013年6月30日"
myString.Substring(9,3)
"DU"
myString.Substring(9,4)
"DU"
它显示了myString.Substring(9,3)和myString.Ssubstring(9,4)误子字符串。正确的子字符串应该是"DU"answers"DU S"
有什么想法吗?
调试图像:https://i.stack.imgur.com/TRjC9.png
它实际上工作正常。字符串上有一个前导空格,因此第九个索引是刚好在DU
之前的空格。考虑以下图表:
Jun30/13 DU SJ9802
0123456789
您从第九个索引开始,这是一个的空格。
9,3
"从指定的字符位置开始并具有指定的长度"。
在您的情况下,如果您查看字符串:
" Jun30/13 DU SJ9802"
0123456789
位置9是空间,所以" DU"
应该是9,4
," DU "
应该是CCD_7,这正是你得到的。
我相信您忘记了字符索引以0开头,而不是以1开头。