Powershell TrimEnd修剪尾随e

时间:2016-06-21 16:40:10

标签: powershell

我的任务是将从PDF导出的XML文件转换为其他程序可用的XML文件。我正在使用Powershell。我注意到当我修剪线条的末尾时,如果有一个尾随的 e e 也会被删除。而且它不只是一个 e 。如果有多个 e ,则会对它们进行整理。例如:

$lines[i].TrimStart(">").TrimEnd("</field")

如果给出的行是:

>123 Sycamore</field

结果是:

123 Sycamor

如果给出的行是:

>Agee</field

结果是:

Ag

有趣的是,这只发生在小写 e 上。所以,如果该行是:

>LANE</field

结果是:

LANE

我无法在technet或文档中找到任何内容。 (也许我正在寻找错误的东西。)

有人对此有任何想法吗?我是否错误地实现了该功能?

1 个答案:

答案 0 :(得分:5)

TrimEndchar[]作为参数,而不是字符串。 PowerShell将隐式地将字符串转换为其基础字符数组,这将意味着:从字符串末尾删除以下字符:</f,{{1} },iel。文档也非常清楚地指出了这一点,所以如果你没有到达this page,那么是的,我猜你是在寻找错误的东西: - )

如果您打算从另一个字符串的末尾删除字符串 d,则可以使用正则表达式:

</field>

在这种情况下,您甚至可以将其与$s -replace '</field>$' 结合使用:

TrimStart