用 PowerShell 替换给定位置的字符串

-1 string powershell replace

我有一个文件夹,其中有 4000 个 csv 文件,现在正在生产中,并且发生了一个正在运行的事件。

我想用 PowerShell 替换:

In all files => OK
In all lines => OK
Run Code Online (Sandbox Code Playgroud)

从位置开始 9 到位置结束 18 的所有字符串,不考虑当前字符串内容。我想只是一个正确的正则表达式问题,但不能使用。

-replace 'WhatToUse','MyNewString'
Run Code Online (Sandbox Code Playgroud)

示例:(所有文件包含不同的字符串,08.10.2016 不是固定字符串)

3162498;08.10.2016;30.10.2016;CHN;
Run Code Online (Sandbox Code Playgroud)

会成为

3162498;MyNewString;30.10.2016;CHN;
Run Code Online (Sandbox Code Playgroud)

小智 8

如果您确定职位,您可以这样做:

$old = "3162498;08.10.2016;30.10.2016;CHN;"
$new = $old.remove(8,10).insert(8,"MyNewString")
Run Code Online (Sandbox Code Playgroud)

将导致: 3162498;MyNewString;30.10.2016;CHN;