我要做的是从文本文件创建word文档。但是文本文件中有pageBreaks。我想删除或替换文本文件中的那些pageBreaks。这是为了让我在word文档中添加pageBreaks,我随后会在实际需要它的地方创建它。
以下是我试图替换文本文件中的pageBreak的PowerShell代码。这不起作用。使用"`f"取代pageBreak不起作用。
$oldWord = "`fPage"
$newWord = "Page"
#-- replace the page breaks in the file
(Get-Content $inputFilePath) -replace '$oldWord', '$newWord' | Set-Content $inputFilePath
在文本编辑器UltraEdit中为pageBreak显示的符号是♀ 替换UltraEdit中的字符很容易。我想使用Powershell替换或删除它。
以下是相关问题。但是关于PowerShell代码仍然没有答案。
How to remove unknown line break (special character) in text file?
答案 0 :(得分:3)
对于分页符,您可以使用:
attribute_1 = elem
下面的代码片段将来自powershell v3:
[io.file]::ReadAllText( 'H:\oldFile.txt') | %{$_.replace("`f","")} >h:\newFile.txt
答案 1 :(得分:2)
感谢您的提问!这个很有趣。
所以Form-Feed特殊字符是powershell中的一个bugger。如果你回应它,你只是得到一个奇怪的字符,或如果你不能显示它的正方形。但是,如果将其复制并粘贴回powershell终端,只需将命令入口点移动到屏幕顶部即可。奇
我所做的是尝试找到替换一般特殊字符的方法。您可以使用# This Python file uses the following encoding: utf-8
import os, sys
import mraa
import time
spi=mraa.Spi(0) #Bus comunication
spi.mode(mraa.SPI_MODE0) #Comunication MODE0
spi.frequency(2000000) #Frequency of 2MHz
spi.lsbmode(False) #Format data MSB
ss=mraa.Gpio(8) #wire CS
ss.dir(mraa.DIR_OUT)
ss.write(1)
def readadc(pinaleer,ss):
dieccionaleer=0x0c #Input c=1100 so Output data length 16bits, MSB first, Unipolar
pinaleer=int(hex(pinaleer),16) #address bits (4)
dieccionaleer = dieccionaleer | (pinaleer<<4) #Put address bit in the 4th bits
#Comunication
ss.write(0) #CS=0 <-- Enables the device
esc=spi.writeByte(dieccionaleer) #First byte with input info
esc2=spi.writeByte(0x00) #Complete the 16bits --> Clock
ss.write(1) #CS=1 <--- Disables the device
time.sleep(0.00020) #Wait more time than 10us= time conversion AD
ss.write(0) #CS=0 <-- Enables the device
primerbyte=spi.writeByte(0x00) #First byte with 8bit of information
segundobyte=spi.writeByte(0x00) #Second byte with 4bit (MSB) information , 8+4=12bits
ss.write(1) #CS=1 <--- Disables the device
salida1=0x0000
salida1=salida1 | (primerbyte << 8)
salida1=salida1 | (segundobyte)
salida = (salida1>>4)+1 #Output 12bits
return salida
d=0
while d<5:
#d+=1
dato1 = readadc(1,ss)
dato2 = readadc(2,ss)
dato3 = readadc(3,ss)
dato4 = readadc(4,ss)
dato5 = readadc(5,ss)
dato6 = readadc(6,ss)
dato7 = readadc(7,ss)
dato8 = readadc(8,ss)
dato9 = readadc(9,ss)
dato10= readadc(10,ss)
dato11= readadc(11,ss) #pin Test (Vref+ - Vref-) /2 =~ 2048
dato12= readadc(12,ss) #pin Test Vref- 0000
dato13= readadc(13,ss) #pin Test Vref+ 4096
print (dato1, dato2, dato3, dato4, dato5, dato6, dato7, dato8, dato9, dato10, dato11, dato12, dato13)
在powershell中使用正则表达式,所以我想出的是:
$oldWord -replace 'REGEX_GOES_HERE', 'THING_TO_REPLACE_WITH_HERE
这将删除Form-Feed角色的所有实例。
希望这有帮助!干杯!