从字符串中提取项的正则表达式
本文关键字:正则表达式 提取 字符串 | 更新日期: 2023-09-27 18:28:28
飞行员可以在文本框中输入他们的飞行路线,如下所示:
KRIC-KLAX-IAD/I69
这是极端的,因为它通常是KRIC-KLAX-KIAD-I69。关键是每个"fix"都用非a-z或0-9字符分隔。我需要从上面的字符串中提取修复程序,以获得一系列修复程序,它们将是:
KRIC,KLAX,IAD,I69
有人知道正则表达式,最好是用.NET C#来实现这一点吗?
谢谢。
var matches=Regex.matches("KRIC-KLAX-IAD/I69",@"([''d''w]+)");
在这里演示。
更新
var matches = Regex.Matches("KRIC-KLAX - IAD / I69", @"('w+)");
var result = Regex.Matches(input, @"'w+")
.OfType<Match>()
.Select(_ => _.Value)
.ToArray();
或者更简单:
var result = Regex.Split(input, @"'W+").ToArray();
正如@TLS正确指出的那样,如果下划线也应该被视为分隔符,那么您可能会使用[a-zA-Z0-9]+
您可能想做这样的事情:
string inputString = "KRIC-KLAX - IAD / I69";
Regex re = new Regex("[ /-]");
string outputString = re.Replace(inputString, ",");
// outputString is "KRIC,KLAX,IAD,I69"
我刚刚修改了这里帖子中的代码。