私はこのような文字列を持っています1234ABCD-1A-AB
。私は string[] セパレーターにセパレーターを持っています。文字列の長さまでループしています。を取得したいですsubstring
。ループ内で私はコードの下に書いています
string tempVar = test.Substring(0, test.IndexOf("'" + separator+ "'"));
私もこんな感じでやってみました
string tempVar = String.Join(",", test.Split(',').Select(s => s.Substring(0, s.IndexOf("'" + separator+ "'"))));
これを使用すると、Index should not be less than 0 というエラーが発生します。ループは 2 回しか実行されません。これは、セパレーターに基づくループであり、文字列に 2 つのセパレーターがあるためです。
説明させてください:
セパレーターのループが2回しか実行されないため、2つのセパレーターの1つは9番目の位置で、もう1つは14番目のポジショニングです。
string[] test1 = test.Split("'" + separator+ "'");
次のステップでは、このような次のプロセスに 1 つの文字列値を渡します
string temp = test1[i].ToString();
これで、2 つの文字列しか取得できず、ループ内で 3 番目の値も取得1234ABCD
し1A
たいと考えています。そのため、分割を使用するよりも部分文字列を使用することを考えました。
出力は次のようになります。
first time: 1234ABCD
second time: 1A
third time: AB