飞行员可以将他们的航班路线输入文本框:
KRIC-KLAX - IAD / I69
这是极端的,因为它通常是KRIC-KLAX-KIAD-I69。关键是每个“修复”由非a-z或0-9个字符分隔。我需要从上面的字符串中提取修复程序,以提出一系列修复程序:
KRIC,KLAX,IAD,I69
任何人都知道正则表达式,最好用.NET C#来实现这个目的吗?
谢谢。
答案 0 :(得分:2)
var result = Regex.Matches(input, @"\w+")
.OfType<Match>()
.Select(_ => _.Value)
.ToArray();
甚至更简单:
var result = Regex.Split(input, @"\W+").ToArray();
正如@TLS正确指出的那样,如果下划线也应被视为分隔符,那么你可能会使用[a-zA-Z0-9]+
答案 1 :(得分:2)
var matches = Regex.Matches(“KRIC-KLAX - IAD / I69”,@“([\ d \ w] +)”);
演示here。
var matches = Regex.Matches("KRIC-KLAX - IAD / I69", @"(\w+)");
答案 2 :(得分:1)
您可能想要这样做:
string inputString = "KRIC-KLAX - IAD / I69";
Regex re = new Regex("[ /-]");
string outputString = re.Replace(inputString, ",");
// outputString is "KRIC,KLAX,IAD,I69"
我刚刚修改帖子here.
中的代码