从此字符串中提取值?

时间:2014-05-17 11:44:03

标签: regex

我有以下文字字符串。

  

位置:-20.443 122.951
温度:54.5C
信心:   50%
SATELLITE:aqua
OBS时间:2014-05-06T05:30:30Z
网格:   1公里

这是从Feed中提取的,字段名保持不变,但值不同。

我一直在试图理解正则表达式并找到一种方法来拉动:

  1. 54.5 (温度)
  2. 50 (置信度)
  3. 所以我需要两个单独的正则表达式,可以从原始字符串中提取上述内容。任何线索或指针都会很棒。

    我在一个允许我指向字符串的产品中执行此操作,并且可以将正则表达式应用于字符串,以便可以提取值并将其写入新字段。

2 个答案:

答案 0 :(得分:2)

ArcGIS似乎使用非常有限的正则表达式引擎。看起来它甚至不支持捕获组,更不用说环顾四周了。所以我想你需要尝试以下方法:

TEMPERATURE: ([0-9.]+)C

将匹配TEMPERATURE条目和

CONFIDENCE: ([0-9]+)%

将匹配CONFIDENCE条目。

如果你很幸运,你可以通过特殊变量\1$1(然后包含"54.5""50"来访问匹配的相关部分分别。

如果那是不可能的,你必须从字符串以及最右边的字符“手动”修剪左侧的前13/12个字符。

答案 1 :(得分:1)

您可以使用分隔符 - 新行拆分此文本。结果你得到一个数组。您可以使用分隔符':'

分割数组的元素