-8

我在 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)

“ 2013 年 6 月 30 日杜 SJ”

myString.Substring(0, 10)

“ 2013 年 6 月 30 日”

myString.Substring(9, 3)

“杜”

myString.Substring(9, 4)

“杜”

它显示myString.Substring(9, 3)myString.Substring(9, 4)的错误子字符串。正确的子字符串应该是“DU”和“DU S”

有什么想法吗 ?

调试图像:http: //i.stack.imgur.com/TRjC9.png

4

3 回答 3

13

它实际上工作正常。字符串上有一个前导空格,因此第九个索引是 . 之前的空格DU。考虑这个图表:

 Jun30/13 DU SJ9802
0123456789

你从第九个索引开始,那是一个空格

于 2013-08-27T17:55:59.713 回答
3

String.Substring“从指定的字符位置开始并具有指定的长度”。

在您的情况下,如果您查看您的字符串:

" Jun30/13 DU SJ9802"
 0123456789

位置 9 是空间,所以9,3应该是" DU",而且9,4应该是" DU ",正是你得到的。

于 2013-08-27T17:56:30.087 回答
0

我相信您忘记了字符索引以 0 开头,而不是 1。

于 2013-08-27T17:59:02.043 回答