我的任务是将从PDF导出的XML文件转换为另一个程序可用的XML文件.我正在使用Powershell.我注意到当我修剪线的末尾时,如果有尾随e,则e也被移除.而且它不只是一个e.如果有多个e,它们都会被修剪掉.例如:
$lines[i].TrimStart(">").TrimEnd("</field")
Run Code Online (Sandbox Code Playgroud)
如果给出的行是:
>123 Sycamore</field
Run Code Online (Sandbox Code Playgroud)
结果是:
123 Sycamor
Run Code Online (Sandbox Code Playgroud)
如果给出的行是:
>Agee</field
Run Code Online (Sandbox Code Playgroud)
结果是:
Ag
Run Code Online (Sandbox Code Playgroud)
有趣的是,这只发生在小写e上.所以,如果该行是:
>LANE</field
Run Code Online (Sandbox Code Playgroud)
结果是:
LANE
Run Code Online (Sandbox Code Playgroud)
我无法在technet或文档中找到任何内容.(也许我正在寻找错误的东西.)
任何人对此都有任何想法?我是否错误地实现了该功能?
TrimEnd
采用char[]
as参数,而不是字符串.PowerShell的将字符串隐式转换到它的基本字符数组,那么这将意味着:从字符串的末尾删除下列字符:<
,/
,f
,i
,e
,l
,d
.文档也非常清楚地指出了这一点,所以如果你没有到达这个页面,那么是的,我猜你是在寻找错误的东西:-)
如果您打算从另一个字符串的末尾删除该字符串 </field>
,则可以使用正则表达式:
$s -replace '</field>$'
Run Code Online (Sandbox Code Playgroud)
TrimStart
在这种情况下,你甚至可以将它与你的结合:
$lines[$i] -replace '^>|</field>$'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
250 次 |
最近记录: |