我在C#
中面临string.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)
“Jun30 / 13 DU SJ”
myString.Substring(0,10)
“Jun30 / 13”
myString.Substring(9,3)
“DU”
myString.Substring(9,4)
“DU”
它显示 myString.Substring(9,3)和 myString.Substring(9,4)的错误的子字符串。正确的子字符串应为“DU”和“DU S”
有什么想法吗?
答案 0 :(得分:13)
它实际上正常工作。字符串上有一个前导空格,因此第九个索引是DU
之前的空格。考虑这个图:
Jun30/13 DU SJ9802
0123456789
你是从第九个索引开始的,那是一个空格。
答案 1 :(得分:3)
String.Substring
“从指定的字符位置开始并具有指定的长度”。
在你的情况下,如果你看一下你的字符串:
" Jun30/13 DU SJ9802"
0123456789
第9个位置是空格,因此9,3
应为" DU"
,9,4
应为" DU "
,这正是您所获得的。
答案 2 :(得分:0)
我相信你忘记了字符索引从0开始,而不是1。