本帖最后由 WHY 于 2019-4-25 22:55 编辑
- $n = 2; #删除第2个段落
- $str = [IO.File]::ReadAllText('1.txt', [Text.Encoding]::Default);
- $arr = $str -split '(?<=skel:)';
- $Len = $arr.Count;
- for($i=0; $i -lt $Len; $i++) {
- $m = $arr[$i] -split '(?<=- - \[-?\d+, -?\d+, 1](?:(?!- - \[)[\s\S])*- \[-?\d+, -?\d+, 1])';
- if($m.Count -gt $n) {
- $m[$n-1] = '';
- $arr[$i] = $m -join '';
- }
- }
- [IO.File]::WriteAllText('2.txt', $arr -join '', [Text.Encoding]::Default);
复制代码
- $n, $k = 4, 2; #第4个段落下移2段
- $str = [IO.File]::ReadAllText('1.txt', [Text.Encoding]::Default);
- $arr = $str -split '(?<=skel:)';
- $Len = $arr.Count;
- for($i=0; $i -lt $Len; $i++) {
- $m = $arr[$i] -split '(?<=- - \[-?\d+, -?\d+, 1](?:(?!- - \[)[\s\S])*- \[-?\d+, -?\d+, 1])';
- if($m.Count -gt ($n+$k)) {
- $m[$n+$k-1] += $m[$n-1];
- $m[$n-1] = '';
- $arr[$i] = $m -join '';
- }
- }
- [IO.File]::WriteAllText('2.txt', $arr -join '', [Text.Encoding]::Default);
复制代码
- $n, $k = 4, 2; #第4个段落上移2段
- $str = [IO.File]::ReadAllText('1.txt', [Text.Encoding]::Default);
- $arr = $str -split '(?<=skel:)';
- $Len = $arr.Count;
- for($i=0; $i -lt $Len; $i++) {
- $m = $arr[$i] -split '(?<=- - \[-?\d+, -?\d+, 1](?:(?!- - \[)[\s\S])*- \[-?\d+, -?\d+, 1])';
- if($m.Count -gt $n -and $n -gt $k) {
- $m[$n-$k-1] = $m[$n-1] + $m[$n-$k-1];
- $m[$n-1] = '';
- $arr[$i] = $m -join '';
- }
- }
- [IO.File]::WriteAllText('2.txt', $arr -join '', [Text.Encoding]::Default);
复制代码
|