String.Substring 移动字符串帧 k 个字符位置时的行为
String.Substring behavior when moving a string frame k char places
在 For 循环中,我不理解 string.Substring(i,j)
的以下行为
有代码
String line = "TTACCTTAAC";
int k = 3; //this is variable but for simplicity is 3
String _pattern = "";
for (int i = 0; i <= line.Length - k; i++) {
_pattern = line.Substring(i, i + k );
//do something...
}
我希望循环遍历字符串行 (TACCTTAAC
) (from 0 to 10-3 = 7)
like:
TTA
ACC
CCT
CTT
TTA
TAA
AAC
不过我得到
TTA
ACCT
etc...
我错过了什么?
Substring
的第二个参数是 length
,而不是 end
,所以你应该传递 k
而不是计算:
String line = "TTACCTTAAC";
int k = 3; //this is variable but for simplicity is 3
String _pattern = "";
for (int i = 0; i <= line.Length - k; i++) {
_pattern = line.Substring(i, k);
//do something...
}
c#中的substring函数用作string.Substring(int startindex, int Length)
所以你应该使用
_pattern = line.Substring(i, k);
在 For 循环中,我不理解 string.Substring(i,j)
有代码
String line = "TTACCTTAAC";
int k = 3; //this is variable but for simplicity is 3
String _pattern = "";
for (int i = 0; i <= line.Length - k; i++) {
_pattern = line.Substring(i, i + k );
//do something...
}
我希望循环遍历字符串行 (TACCTTAAC
) (from 0 to 10-3 = 7)
like:
TTA
ACC
CCT
CTT
TTA
TAA
AAC
不过我得到
TTA
ACCT
etc...
我错过了什么?
Substring
的第二个参数是 length
,而不是 end
,所以你应该传递 k
而不是计算:
String line = "TTACCTTAAC";
int k = 3; //this is variable but for simplicity is 3
String _pattern = "";
for (int i = 0; i <= line.Length - k; i++) {
_pattern = line.Substring(i, k);
//do something...
}
c#中的substring函数用作string.Substring(int startindex, int Length)
所以你应该使用
_pattern = line.Substring(i, k);