使用Powershell

时间:2019-06-07 15:35:16

标签: powershell spaces stripping

我有一个问题,有时从数据库中提取数据有时(经常)在文本字符串之间添加不应有的空格。

我要做的是创建一个小脚本,该脚本将查看这些字符串并删除空格。

问题在于空格可以在字符串中的任何位置,并且字符串是一个可变的变量。

示例:

"StaffID": "0000 25" <-数字中的空格不应存在。 有没有一种方法可以让脚本查看此特定行,如果找到空格,则将其删除。
或者:"DateOfBirth": "23-10-199 0" <-它还需要查看这些空间并将其删除。

问题在于,同一数据还具有诸如以下的行:
"Address": " 91 Broad street" <-空格显然应该在这里。

我尝试使用TRIM,但这只会删除开始/结束处的空格。

值得一提的是,提取的数据为json格式,然后使用API​​导入到新系统中。

1 个答案:

答案 0 :(得分:2)

您应该考虑您想做什么的逻辑,以及是否可以通过编程确定是否可以教您的脚本在哪里放置空格。实际上,这是当前AI研究面临的最大问题之一,因此不幸的是,您可能必须手动进行此操作。

如果是我,我将指定我希望每列中使用的数据格式,并尽力尝试解析那些字符串。例如,如果您知道StaffID不包含空格,则可以使用一条规则将其删除:

$staffid = $staffid.replace("\s+",'')

in this answer已经介绍了强制格式化(.replace)可以做的一些更复杂的事情,但是同样,这需要对从哪一列中确切得出哪些数据有一些期望。

您可能希望更仔细地查看这些空间的来源,而不是像这样处理输出。检索脚本正在执行此操作吗?也许您可以优化从中绘制的数据库?