繁体   English   中英

正则表达式从字符串中提取项目

[英]Regular expression to extract items from a string

飞行员可以在文本框中输入飞行路线,如下所示:

KRIC-KLAX-IAD / I69

这是极端情况,因为通常是KRIC-KLAX-KIAD-I69。 关键是每个“修订”用非az或0-9字符分隔。 我需要从上述字符串中提取修复程序,以提出一系列修复程序:

KRIC,KLAX,IAD,I69

任何人都知道正则表达式,最好在.NET C#中做到这一点?

谢谢。

  var result = Regex.Matches(input, @"\w+")
      .OfType<Match>()
      .Select(_ => _.Value)
      .ToArray();

甚至更简单:

  var result = Regex.Split(input, @"\W+").ToArray();

正如@TLS正确指出的那样,如果下划线也应被视为定界符,则您可能会使用[a-zA-Z0-9]+

var matchs = Regex.Matches(“ KRIC-KLAX-IAD / I69”,@“([[d \\ w] +)”);

演示在这里

UPDATE

 var matches = Regex.Matches("KRIC-KLAX - IAD / I69", @"(\w+)");

您可能想要执行以下操作:

string inputString = "KRIC-KLAX - IAD / I69";
Regex re = new Regex("[ /-]"); 
string outputString = re.Replace(inputString, ","); 
// outputString is "KRIC,KLAX,IAD,I69" 

我刚刚在这里修改了帖子中的代码

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM