Powershell正则表达式和分裂字符串

时间:2015-10-26 07:45:47

标签: .net regex string powershell

我在数据库表中有一个列,我必须转换为逗号分隔列表(因为我将在列表中插入每个项目作为新表中的新记录)。以下是一些数据示例。

示例数据:

  • 5209291 5847149,8943073,8943895,8963839
  • 3215874,2435245,2345563,634523,jim,jake,henry,健康专业学校

我的要求:

  • 列表必须只是数字
  • 列表必须仅以逗号分隔

使用上述示例的完美解决方案是:

  • 5209291,5847149,8943073,8943895,8963839
  • 3215874,2435245,2345563,634523

到目前为止我所做的是使用String Split并通过将分隔符传递给方法来对分隔符进行硬编码。这是行不通的,因为每天我从DBA获得一个提要,而分隔符可能是任何东西。我希望我能提供一些能够展示我所做过的事情的事情"但我在这里真的不知所措......

1 个答案:

答案 0 :(得分:1)

您可以通过此正则表达式匹配数字序列:\d+。您只需要匹配输入字符串中的每个数字序列,并用逗号连接它们。

[regex]::Matches($InputString,'\d+')-join','