我有一个像这样的字符串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+ "'"))));
通过使用这个我得到的错误索引不应该小于0,循环将只运行2次因为我是基于分隔符的循环,并且我的字符串中有2个分隔符。
让我解释一下:
我有一个循环用于分隔符,它只执行2次,因为我将2个分隔符一个是第9个位置而另一个是第14个位置,在该循环内我根据分隔符分割字符串
string[] test1 = test.Split("'" + separator+ "'");
在我的下一步中,我将为下一个进程传递一个字符串值,如此
string temp = test1[i].ToString();
有了这个我只得到2个字符串1234ABCD
和1A
我想在循环中得到第3个值。所以我想要使用子串而不是使用split。
first time: 1234ABCD
second time: 1A
third time: AB
答案 0 :(得分:2)
使用拆分功能:
string s = "1234ABCD-1A-AB";
string[] parts = s.Split('-');
然后:
s[0] == "1234ABCD"
s[1] == "1A"
s[2] == "AB"
根据现在更新的要求,尝试以下操作:
string input = "1234ABCD-1A-AB";
char separator = '-';
string[] parts = input.Split(separator);
// if you do not need to know the item index:
foreach (string item in parts)
{
// do something here with 'item'
}
// if you need to know the item index:
for (int i = 0; i < parts.Length; i++)
{
// do something here with 'item[i]', where i is
// the index (so 1, 2, or 3 in your case).
}
答案 1 :(得分:2)
您可以将Split
与分隔符'-'
一起使用,然后访问返回的string[]
。
string[] parts = test.Split('-');
string firstPart = parts[0];
string secondPart = parts.ElementAtOrDefault(1);
string thirdPart = parts.ElementAtOrDefault(2);
答案 2 :(得分:0)
string[] items = str.Split(new char[] { '-' });
答案 3 :(得分:0)
您可以使用String.Split
方法
返回包含此实例中的子字符串的字符串数组 由指定字符串或Unicode的元素分隔 字符数组。
string s = "1234ABCD-1A-AB";
string[] items = s.Split('-');
for(int i = 0; i < items.Length; i++)
Console.WriteLine("Item number {0} is: {1}", i, items[i]);
输出将是;
Item number 0 is: 1234ABCD
Item number 1 is: 1A
Item number 2 is: AB
这是DEMO
。
答案 4 :(得分:0)
通过String.Split()非常简单:
string t = "1234ABCD-1A-AB";
string[] tempVar = t.Split('-');
foreach(string s in tempVar)
{
Console.WriteLine(s);
}
Console.Read();
打印:
1234ABCD
1A
AB
答案 5 :(得分:0)
您可以使用String.Split():
string str = "1234ABCD-1A-AB";
string[] splitted = str.Split('-');
/* foreach (string item in splitted)
{
Console.WriteLine(item);
}*/
您可以将其设置为:
string firstPart = splitted.FirstOrDefault();
string secondPart = splitted.ElementAtOrDefault(1);
string thirdPart = splitted.ElementAtOrDefault(2);
答案 6 :(得分:0)
我只是错过了索引
string tempVar = test.Substring(0, test.IndexOf(separator[0].ToString()));