1

我有一个转换,我想从字符串中获取一个值并将其放在另一列中。

该值可以是:

  • 从 -99 到 99 的负整数或正整数
  • 在给定字符串中的单词“for”和“yards”之间找到

字符串值的一些示例(每行将单独解析):

  • “(8:27)T.Barber 右后卫到 SF 21 没有收获(J.Winborn B.Young)。”
  • “(8:06)T.Barber 左铲球到 SF 24 为 -3 码(J.Winborn)。”
  • “(8:02) G.Hearst 右端到 SF 26 2 码 (M.Barrow B.Short)。”
  • “(7:22)J.Garcia 将 E.Johnson 传给 SF 27 1 码(D.Jones O.Stoutmire)。”
  • “(6:43)J.Garcia 左端在 SF 40 处跑了 13 码(J.Sehorn)。回来传球。”
  • “在 SF 27 处强制执行 SF-S.Gragg 进攻性控制 10 码的处罚 - 禁止比赛。”

我正在使用 Konesans RegEx Clean Tranformation ( http://www.konesans.com/products/regexclean-transformation.aspx ),但我对正则表达式的使用有限。我能够使用在线工具来构建这种模式:

for (?<numval>(-?\d[\d|\s]))\s?yard.

(链接到工作区 - http://regexr.com?33u0f

SSIS 转换配置

转换仅在派生列中返回 NULL 值。任何有关此转换的帮助将不胜感激!

4

1 回答 1

2

我没有使用该工具的经验,也无法进行测试,但请尝试

匹配 (?<yards>-?\d\d?)\syard

代替 ${yards}

于 2013-02-26T18:42:42.900 回答