C# 如果字符串包含true,如何使用C选择字符串中的下一个单词#

C# 如果字符串包含true,如何使用C选择字符串中的下一个单词#,c#,string,C#,String,在上面的字符串中,我只需要01:49:36.75,如何在一行代码中仅获取下一个单词“Duration:”假设s是您的字符串,而这些“*”不存在(我猜您添加了它): 使用Substring和IndexOf删除字符串的第一部分,以便新字符串以所需值开头 按“,”分割结果,并取第一个单元格 修剪以删除不必要的空间 您应该使用Regex类来查找您要查找的内容。 正则表达式使用正则表达式语言 string sDurationVal = s.Substring(s.IndexOf("Duration")

在上面的字符串中,我只需要01:49:36.75,如何在一行代码中仅获取下一个单词“Duration:”

假设s是您的字符串,而这些“*”不存在(我猜您添加了它):

  • 使用SubstringIndexOf删除字符串的第一部分,以便新字符串以所需值开头
  • 按“,”分割结果,并取第一个单元格
  • 修剪以删除不必要的空间

您应该使用
Regex
类来查找您要查找的内容。 正则表达式使用
正则表达式语言

string sDurationVal = s.Substring(s.IndexOf("Duration") + 9).Split(',')[0].Trim();
有关更多信息,您可以在此处查看:


Regex比其他方法(如split或IndexOf…)更可靠。

使用
.Substring()
以及
.IndexOf()


.Substring()
.IndexOf()
一起使用整个代码块是一个字符串?是的,它是一个完整的字符串如果(mystring.contains(“Duration”){……}一旦条件为真,是否可以选择here@un-幸运的是单词“01:49:36.75”的索引不是常量,可能会更改几次。当然。请注意,必须验证字符串“Duration”(区分大小写)确实存在。
string sDurationVal = s.Substring(s.IndexOf("Duration") + 9).Split(',')[0].Trim();
 Regex rx = new Regex(@"Duration\:\s*([\d\.]+)\,",RegexOptions.Compiled | RegexOptions.IgnoreCase);
 Console.WriteLine(rx.Matches("Your String")[0].Groups[0].Value);
string s2 = s.Substring(s.IndexOf("Duration:")+9,12).Trim();