[英]Powershell Substring Setting Specific Cell Length
一直在努力試圖修剪/刪除在CSV文件的具體行(結果)數據到特定的長度。 不斷收到“子字符串超載”。 有任何想法嗎?
$Csv = Import-Csv $FileIn
$CsvNew = ForEach($Row in $Csv){
$Row.Results.Substring((0,[System.Math]::Min(254,$Row.Results.Length)))}
看起來像你的子字符串使用一個簡單的錯誤。 刪除括號中的一個。
來自:
$Row.Results.Substring((0,[System.Math]::Min(254,$Row.Results.Length)))}
至 :
$Row.Results.Substring(0,[System.Math]::Min(254,$Row.Results.Length))}
對於可讀性的原因,你可能已經把你的子數到一個變量。 該錯誤會出現更加明顯。
$Csv = Import-Csv $FileIn
$CsvNew = ForEach($Row in $Csv)
{
$MaxLength = [System.Math]::Min(254,$Row.Results.Length)
$Row.Results.Substring(0,$MaxLength )
}
編輯:
最后,請注意$ CsvNew(我從您的示例中獲取)不存儲任何內容。 如果你要編輯的CSV行內容,使用它代替。
$Csv = Import-Csv $FileIn
$Csv | ForEach-Object {
$MaxLength = [System.Math]::Min(254,$_.Results.Length)
$_.Results.Substring(0,$MaxLength )
}
最后一個代碼段實際上將編輯$ Csv變量內容,以將您的結果列修剪為最多254個字符。 (盡管它不會導出到文件中。為此,您將需要使用ExportTo-CSV Cmdlet導出新的$ Csv內容)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.