子串()错误

时间:2017-04-26 12:45:22

标签: powershell

$fileName = "Name of TheFolder_NE_ED"
$lengthFileName = $fileName.length
$shortenLengthFileName = $lengthFileName - 5
Write-Host("Name of TheFolder_NE_ED").Substring($shortenLengthFileName,$lengthFileName)
$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")

我遇到了SubString()函数的问题,它出错了:

error message

我尝试打印出变量值,但看起来很好。

1 个答案:

答案 0 :(得分:2)

在PowerShell中,子字符串的工作方式略有不同。

使用现有代码,您可以尝试:

$fileName = "Name of TheFolder_NE_ED"
$lengthFileName = $fileName.length
$shortenLengthFileName = $lengthFileName - 5
Write-Host("Name of TheFolder_NE_ED").Substring($shortenLengthFileName)

<强>解释

Substring中的第一个参数应该是字符的起始索引(在本例中为18)。现在从那封信开始计算,直到角色(你必须作为第二个参数传递)。否则它将默认转到字符串的末尾。

因此,如果您想传递2个参数并执行此操作,请将其更改为:

Write-Host("Name of TheFolder_NE_ED").Substring($shortenLengthFileName,5)

如需进一步参考,请关注Substring Use

希望它有所帮助。