Board logo

标题: [问题求助] [已解决]PowerShell怎样用trim删除结尾的空格和0? [打印本页]

作者: 小白龙    时间: 2023-3-11 11:49     标题: [已解决]PowerShell怎样用trim删除结尾的空格和0?

本帖最后由 小白龙 于 2023-3-11 21:10 编辑

我用下面的代码,  删除一行后面空格和0
但是结果却把10的0也删了,  怎样解决, 有更简单的办法吗? 求路过大佬帮助, 谢谢
  1. $s='abc 0 0 10 zzz 10 0 0'
  2. $s.TrimEnd(' 0')
复制代码

作者: jyswjjgdwtdtj    时间: 2023-3-11 11:53

这是ps吧?
作者: hfxiang    时间: 2023-3-11 12:59

可试试gawk( http://bcn.bathome.net/tool/4.1.0/gawk.exe
  1. echo;abc 0 0 10 zzz 10 0 0|gawk "{sub(/( \<0\>)+$/,\"\")}1"
复制代码

作者: 小白龙    时间: 2023-3-11 13:52

本帖最后由 小白龙 于 2023-3-11 13:54 编辑

回复 2# jyswjjgdwtdtj

对, 不好意思, 我记得是发在了powershell专区了, 现在看是在bat版块中, 麻烦管理员看到后, 移到Powershell吧, 我刚试了, 自己移不了, 谢谢
作者: 小白龙    时间: 2023-3-11 13:53

回复 3# hfxiang


    多谢大佬, 我主要是想得到通用的正则式
作者: jyswjjgdwtdtj    时间: 2023-3-11 15:38

/(0|\s)*$/可以不?还是/(0\s)*$/?
目前还是正则小白&#128557;
作者: Five66    时间: 2023-3-11 17:16

substring?
  1. $s.Substring(0,$s.Length-2)
复制代码

作者: terse    时间: 2023-3-11 17:39

正则的话 试试这样
  1. $s -Replace '((?<!\w)[\s0]+)$',''
复制代码

作者: 小白龙    时间: 2023-3-11 18:36

本帖最后由 小白龙 于 2023-3-11 18:37 编辑

回复 7# Five66
执行后, 后面还是有0

我的情况, 有时后面会有N个0
作者: Five66    时间: 2023-3-11 19:42

回复 9# 小白龙
  1. $s -Replace '( 0)+$',''
复制代码
  1. $s -Replace '( 0)*$',''
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2