Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.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# - Fatal编程技术网

C# 从逗号之间的字符串中提取文本

C# 从逗号之间的字符串中提取文本,c#,C#,我只想提取两个逗号之间的单词。 因此,如果字符串是Ab Java,DE,78801,那么答案必须是DE 我尝试过这个代码,但它不起作用 string search = "Ab Java, DE, 78801 "; int index = search.IndexOf(","); string result = search.Substring(search.IndexOf(",") ,index); MessageBox.Show(result); 子字符串中的开始和结束解析为相同的值 st

我只想提取两个逗号之间的单词。 因此,如果字符串是Ab Java,DE,78801,那么答案必须是DE 我尝试过这个代码,但它不起作用

string search = "Ab  Java, DE, 78801 ";
int index = search.IndexOf(",");
string result = search.Substring(search.IndexOf(",") ,index);
MessageBox.Show(result);

子字符串中的开始和结束解析为相同的值

string search = "Ab  Java, DE, 78801 ";
int index = search.IndexOf(",");
string result = search.Substring(search.IndexOf(",") ,index);
MessageBox.Show(result);
尝试使用split并获取第二项,当然这假设您的输入始终遵循示例中的模式。否则你需要做更复杂的事情

string search = "Ab  Java, DE, 78801 ";
int index = search.IndexOf(",");
string result = search.Substring(search.IndexOf(",") ,index);
MessageBox.Show(result);
string[] searchItems = search.Split(',');
string result = searchItems[1].Trim(); // will output DE

假设字符串始终只有两个逗号,则:

string search = "Ab  Java, DE, 78801 ";
int index = search.IndexOf(",");
string result = search.Substring(search.IndexOf(",") ,index);
MessageBox.Show(result);
search.Split(", ")[1]
将为您提供所需的文本。

试试这个

string search = "Ab  Java, DE, 78801 ";
int index = search.IndexOf(",");
string result = search.Substring(search.IndexOf(",") ,index);
MessageBox.Show(result);
string[] splitedStr=search.Split(',');
string NewStr=splitedStr[1].ToString();
如果您的字符串总是有2个逗号,您可以像这样使用它

string search = "Ab  Java, DE, 78801 ";
int index = search.IndexOf(",");
string result = search.Substring(search.IndexOf(",") ,index);
MessageBox.Show(result);
string search = "Ab  Java, DE, 78801 ";
Console.WriteLine(search.Split(',')[1]); // DE
记住,这将生成
DE
,前面有一个额外的空格

string search = "Ab  Java, DE, 78801 ";
int index = search.IndexOf(",");
string result = search.Substring(search.IndexOf(",") ,index);
MessageBox.Show(result);

string search = "Ab  Java, DE, 78801 ";
int index = search.IndexOf(",");
string result = search.Substring(search.IndexOf(",") ,index);
MessageBox.Show(result);
如果您不需要该空白,可以使用删除它

string search = "Ab  Java, DE, 78801 ";
int index = search.IndexOf(",");
string result = search.Substring(search.IndexOf(",") ,index);
MessageBox.Show(result);
Console.WriteLine(search.Split(',')[1].TrimStart()); //DE
试试这个

string search = "Ab  Java, DE, 78801 ";
int index = search.IndexOf(",");
string result = search.Substring(search.IndexOf(",") ,index);
MessageBox.Show(result);
String str = "Ab  Java, DE, 78801 ";
String[] myStrings = str.split(",");
String marco = myStrings[1];

试试这个。这可能有用

string search = "Ab  Java, DE, 78801 ";
int index = search.IndexOf(",");
string result = search.Substring(search.IndexOf(",") ,index);
MessageBox.Show(result);
string[] arrayStr = search.Split(',');
int len = arrayStr.Length;
for(int i =1;i<=len-2;i++)
{
   MessageBox.Show(result);
}
string[]arrayStr=search.Split(',');
int len=阵列长度;

对于(int i=1;i这是我应该使用正则表达式来解决的问题。它可能比
字符串.Split
解决方案慢,但它更容易阅读-特别是如果模式将随着时间的推移而演变

string search = "Ab  Java, DE, 78801 ";
int index = search.IndexOf(",");
string result = search.Substring(search.IndexOf(",") ,index);
MessageBox.Show(result);
解决方案的外观将如下所示:

string search = "Ab  Java, DE, 78801 ";
int index = search.IndexOf(",");
string result = search.Substring(search.IndexOf(",") ,index);
MessageBox.Show(result);
string search = "Ab  Java, DE, 78801 ";
Regex r = new Regex(", *(.*) *,", RegexOptions.Compiled);
Console.WriteLine(r.Match(search).Groups[1].ToString());

这写入的
DE
没有空格。regex实例应该是类的静态成员,因为我假设这是在循环中发生的…

字符串总是有两个逗号?是的,它总是有两个逗号这是什么
Dump()
method?@Shaharyar这是LINQPad的一个扩展方法。我使用这个工具生成了一些代码示例,但有时看起来可能会让人困惑。将其删除。@SonerGönül感谢您的解释。我想downvoter也不知道这个方法:)@downvoter是否愿意发表评论,至少这样我可以看出我可能错在哪里?
string search = "Ab  Java, DE, 78801 ";
int index = search.IndexOf(",");
string result = search.Substring(search.IndexOf(",") ,index);
MessageBox.Show(result);