Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#返回从字符串结束位置开始的子字符串_C#_For Loop_Substring_Indexof - Fatal编程技术网

C#返回从字符串结束位置开始的子字符串

C#返回从字符串结束位置开始的子字符串,c#,for-loop,substring,indexof,C#,For Loop,Substring,Indexof,我正在尝试根据用户输入将字符串修剪成若干子字符串。 例如,在控制台ARG1='DATABASE'ARG2='3,2,3' 该方法将数据库转换为新列表(DAT、AB、ASE) 我目前正在处理的代码是 string[] sizeSplit = ARG3.Split(','); for (int i = 0; i < sizeSplit.Length; i++) { string eachNumber = sizeSplit

我正在尝试根据用户输入将字符串修剪成若干子字符串。 例如,在
控制台ARG1='DATABASE'ARG2='3,2,3'
该方法将数据库转换为新列表(DAT、AB、ASE)

我目前正在处理的代码是

        string[] sizeSplit = ARG3.Split(',');
        for (int i = 0; i < sizeSplit.Length; i++)
        {
            string eachNumber = sizeSplit[i];
            int j = Int32.Parse(eachNumber);


            string splitString = pattern.Substring(0,j);

            seperatedWord.Add(splitString);
        }
string[]sizeSplit=ARG3.Split(',');
对于(int i=0;i
但这只适用于第一个子字符串,因为第二个子字符串和后面的子字符串需要索引为(pastPosition,j)。正如我在标题中所说的

有人能告诉我怎么做吗?
提前谢谢你。

你需要跟踪这个职位

int index = 0;
for (int i = 0; i < sizeSplit.Length; i++)
{
     string eachNumber = sizeSplit[i];
     int j = Int32.Parse(eachNumber);         
     string splitString = pattern.Substring(index,j);
     index += j;
     seperatedWord.Add(splitString);
}
int索引=0;
对于(int i=0;i
您需要跟踪位置

int index = 0;
for (int i = 0; i < sizeSplit.Length; i++)
{
     string eachNumber = sizeSplit[i];
     int j = Int32.Parse(eachNumber);         
     string splitString = pattern.Substring(index,j);
     index += j;
     seperatedWord.Add(splitString);
}
int索引=0;
对于(int i=0;i
像这样试试

添加新变量Previous。它具有子字符串的起始索引

string ARG1  = "DATABASE"; string ARG2 = "3,2,3";
int previous = 0;
string[] sizeSplit = ARG2.Split(',');
for (int i = 0; i < sizeSplit.Length; i++)
{
    string eachNumber = sizeSplit[i];
    int j = Int32.Parse(eachNumber);

    string splitString = ARG1.Substring(previous, j);
    previous +=j;
    seperatedWord.Add(splitString);
}
string ARG1=“数据库”;字符串ARG2=“3,2,3”;
int-previous=0;
字符串[]sizeSplit=ARG2.Split(',');
对于(int i=0;i
像这样试试

添加新变量Previous。它具有子字符串的起始索引

string ARG1  = "DATABASE"; string ARG2 = "3,2,3";
int previous = 0;
string[] sizeSplit = ARG2.Split(',');
for (int i = 0; i < sizeSplit.Length; i++)
{
    string eachNumber = sizeSplit[i];
    int j = Int32.Parse(eachNumber);

    string splitString = ARG1.Substring(previous, j);
    previous +=j;
    seperatedWord.Add(splitString);
}
string ARG1=“数据库”;字符串ARG2=“3,2,3”;
int-previous=0;
字符串[]sizeSplit=ARG2.Split(',');
对于(int i=0;i