簡體   English   中英

Powershell子串設置特定的單元格長度

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM