我有这个txt文件,我需要取出所有奇怪的字符,到目前为止,我尝试过类似的操作
(get-content C:\Users\JuanMa\Desktop\UNB\test.txt) -replace ('.','') | out-file C:\Users\JuanMa\Desktop\UNB\test2.txt
可悲的是,我在test2.txt上得到一个白色文档
这是我要清理的文档
.!..p.ÿÿ.!..! .!. PESCATORE
.!. LEMON SPICE S.R.L.
600 SUR DE MULTIPLAZA ESCAZU
3-102-599284
TEL: 2289-8010 FAX: 2289-5129
INFO@PESCATORECR.COM
.!..! Terminal POS: BARRA
.!.
.! ------------FACTURA-----------
.! .!0 Mesa: B07
.!..! NUMERO : 0068371
.!.Mesa # : B07 Fecha: 25/09/2018
Mesero : CARLOS
Cajero : JOHN Hora : 22:35:06
# Pers : 1 Comandas: 1
Apertura: 22:34 Tiempo/E: 1 Min
.! .!..! .! CANT DESCRIPCION MONTOS
.!.---------------------------------------
1.00 LIMONADA HIERBABUE 2,033.00
.! SubTotal : 2,033.00
%IVA : 264.00
%SER : 203.00
.! .!. TOTALES : 2,501.00
.!..! (COLONES)
En Dolares : 4.55
.!.>> Pago: EFECTIVO> 2,555.00
>> Recibe: 2,555.00
>> Cambio: 54.00
.!
www.gruposinertech.com Vers.15.09A
.!.
AUTORIZADO MEDIANTE RESOLUCION
11-97 DE LA D.G.T.D
.i
.@
感谢您的帮助!
答案 0 :(得分:1)
尝试:
(get-content -Raw C:\Users\JuanMa\Desktop\UNB\test.txt).Replace ('.','') | out-file C:\Users\JuanMa\Desktop\UNB\test2.txt
默认情况下,获取内容返回一个数组,但是如果您指定-Raw,它将返回一个字符串
答案 1 :(得分:1)
你好,胡安·曼努埃尔·桑切斯,
以下内容将从Get-Content获得的行数组中的每一行的开头修剪掉多余的字符。它作用于数组中的每一行,而无需显式遍历数组。
由于它很难对物品进行编码,因此非常脆弱。此外,它还会删除所有左侧填充空间。
$GC_Array -creplace '^[.! pÿ]{1,}' -replace '^0 {2,}'
-creplace
是替换的区分大小写的版本^
表示从行首开始[]
是要替换的字符集{1,}
表示一个或多个希望有帮助,
李
答案 2 :(得分:0)
-replace
运算符使用正则表达式,该正则表达式使用句点表示任何字符,因此这会去除任何内容。如果要删除文字句点,请在句点前加上反斜杠:
(get-content C:\Users\JuanMa\Desktop\UNB\test.txt) -replace ('\.','') | out-file C:\Users\JuanMa\Desktop\UNB\test2.txt
不幸的是,这会删除所有期间,因此您可能要保留的期间,例如数量丢失。
要清除多个不良字符,请将其包含在方括号中。这将删除“ÿ”,“!”
(get-content C:\Users\JuanMa\Desktop\UNB\test.txt) -replace ('[ÿ!]','') | out-file C:\Users\JuanMa\Desktop\UNB\test2.txt
您可以将这些-replace
运算符链接起来以进行多次替换:
# Characters ÿ or !
# Replace .! at the start of the line with blank
(get-content C:\Users\JuanMa\Desktop\UNB\test.txt) `
-replace ('[ÿ!]','') `
-replace ('^.!','') |
out-file C:\Users\JuanMa\Desktop\UNB\test2.txt