我需要一些C#正则表达式的帮助。基本上我将机场METAR重写为更友好的格式。
对于那些不熟悉METAR的人,这里有一个例子: KLAX 020353Z 24004KT 9SM FEW150 SCT250 21/18 A2987 RMK AO2 SLP112 T02060178 $
基本上我想做的是将FEW150重写为“150的少量云”。我对正则表达式的表达并不擅长,这就是我所拥有的(显然不起作用):
modify = Regex.Replace(modify, "^FEW[0-9]{3}$", "few clouds at $1");
有人能帮我找到合适的模式吗?
答案 0 :(得分:3)
你很亲密
modify = Regex.Replace(modify, "FEW([0-9]{3})", "few clouds at $1");
^
标记字符串的开头,$
标记字符串的结尾,因此无法匹配它,因为您的目标字符串位于middile而不是唯一的字符串
$1
指的是第一个捕获组,但在您的情况下没有任何捕获组。
你也可以这样做
modify.Substring(modify.IndexOf("FEW"),modify.IndexOf("FEW")+5);