C# 如何获取子字符串
我有一个像这样的字符串C# 如何获取子字符串,c#,winforms,substring,C#,Winforms,Substring,我有一个像这样的字符串1234ABCD-1A-AB我在string[]separator中有分隔符,我循环到字符串的长度。我想获取子字符串。在循环内部,我正在编写以下代码 string tempVar = test.Substring(0, test.IndexOf("'" + separator+ "'")); 我也试过这样做 string tempVar = String.Join(",", test.Split(',').Select(s => s.Substring(0, s.I
1234ABCD-1A-AB
我在string[]separator中有分隔符,我循环到字符串的长度。我想获取子字符串
。在循环内部,我正在编写以下代码
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();
有了这个,我只得到了两个字符串,分别是1234ABCD
和1A
,我还想得到循环中的第三个值。因此,我考虑使用子字符串而不是使用split
输出应为:
第一次:1234ABCD
第二次:1A
第三次:AB
使用拆分功能:
string s = "1234ABCD-1A-AB";
string[] parts = s.Split('-');
然后:
根据现在更新的要求,尝试以下操作:
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).
}
string input=“1234ABCD-1A-AB”;
字符分隔符='-';
string[]parts=input.Split(分隔符);
//如果您不需要知道项目索引:
foreach(部分中的字符串项)
{
//在这里用“项目”做点什么
}
//如果您需要了解项目索引:
对于(int i=0;i
您可以使用
返回包含此实例中的子字符串的字符串数组
由指定字符串或Unicode的元素分隔的
字符数组
这是一个.您可以使用分隔符
'-'
使用Split
,然后访问返回的字符串[]
string[] parts = test.Split('-');
string firstPart = parts[0];
string secondPart = parts.ElementAtOrDefault(1);
string thirdPart = parts.ElementAtOrDefault(2);
非常简单,通过:
印刷品:
1234ABCD
1A
AB
您可以使用:
您可以将其设置为:
string firstPart = splitted.FirstOrDefault();
string secondPart = splitted.ElementAtOrDefault(1);
string thirdPart = splitted.ElementAtOrDefault(2);
我只是错过了索引
string tempVar = test.Substring(0, test.IndexOf(separator[0].ToString()));
若我将使用split,那个么若我将传递循环`string temp=test1[i].ToString()的索引,那个么如何获得第三个值;我已经解释过了,但还是不清楚。尝试发布您的输入数据和整个代码。那么“'”+分隔符+“'”({“}部分)的处理方式是什么呢?沃哈里!我以前从未使用过
ElementAtOrDefault
。太酷了,蒂姆+1.你对这个问题的修改不清楚。你想达到什么目的?想发表评论吗@Rocky您需要清楚地规划您的需求。
Item number 0 is: 1234ABCD
Item number 1 is: 1A
Item number 2 is: AB
string[] parts = test.Split('-');
string firstPart = parts[0];
string secondPart = parts.ElementAtOrDefault(1);
string thirdPart = parts.ElementAtOrDefault(2);
string t = "1234ABCD-1A-AB";
string[] tempVar = t.Split('-');
foreach(string s in tempVar)
{
Console.WriteLine(s);
}
Console.Read();
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);
string tempVar = test.Substring(0, test.IndexOf(separator[0].ToString()));