刪除檔案中的數字
re
。下面是一個簡單的示例,演示瞭如何從檔案中刪除數字:
1、問題背景
car1 auto1 automobile1 machine4 motorcar1
bridge1 span5
road1 route2
你想把它變成這樣:
car auto automobile machine motorcar
bridge span
road route
2、解決方案
有幾種方法可以從檔案中刪除數字。下面介紹其中四種方法:
方法1:使用正規表示式
你可以使用正規表示式來匹配和刪除檔案中的數字。例如,你可以使用下面的程式碼:
import re
import fileinput
for line in fileinput. input( "your_file.txt", inplace = True):
print re. sub( "\d+", "", line),
上面的程式碼使用 regular expressions (正規表示式) 模組來匹配和刪除檔案中的數字。
re.sub("\d+", "", line)
這行程式碼使用
re.sub
函式來匹配和替換檔案中的數字。
"\d+"
這個正規表示式匹配一個或多個數字。
""
表示用一個空字串來替換匹配的數字。
fileinput
模組允許你逐行讀取檔案,並對每行進行操作。
inplace=True
引數告訴
fileinput
模組對原始檔案進行修改,而不是建立一個新的檔案。
方法2:使用
str.translate
函式
str.translate
函式可以用來刪除檔案中的數字。例如,你可以使用下面的程式碼:
import fileinput
import string
for line in fileinput. input( "your_file.txt", inplace = True):
print line. translate( None, string. digits),
上面的程式碼使用
str.translate
函式來刪除檔案中的數字。
line.translate(None, string.digits)
這行程式碼使用
str.translate
函式來刪除字串中的數字。
None
引數告訴
str.translate
函式不使用翻譯表。
string.digits
是一個包含所有數字字元的字串。
方法3:使用 with 語句
你也可以使用 with 語句來刪除檔案中的數字。例如,你可以使用下面的程式碼:
with open( 'input.txt', 'r') as f1, open( 'output.txt', 'w') as f2:
f2. write( "". join([ c for c in f1. read() if not c. isdigit()]))
上面的程式碼使用
with
語句來開啟兩個檔案。
input.txt
檔案以只讀模式開啟。
output.txt
檔案以寫入模式開啟。
"".join([c for c in f1.read() if not c.isdigit()])
這行程式碼使用列表解析來從
input.txt
檔案中讀取字元,並過濾掉數字字元。然後,它把剩下的字元連線成一個字串,並寫入
output.txt
檔案中。
方法4:使用
os.replace
函式
你也可以使用
os.replace
函式來刪除檔案中的數字。例如,你可以使用下面的程式碼:
import os
with open( 'file', 'r') as f:
data = f. read()
data = data. translate( None, '0123456789')
with open( 'file', 'w') as f:
f. write( data)
上面的程式碼使用
os.replace
函式來刪除檔案中的數字。
with open('file', 'r') as f:
這行程式碼使用
with
語句來開啟檔案。
data = f.read()
這行程式碼使用
read
方法來讀取檔案中的內容。
data = data.translate(None, '0123456789')
這行程式碼使用
str.translate
函式來刪除字串中的數字。
with open('file', 'w') as f:
這行程式碼使用
with
語句來開啟檔案。
f.write(data)
這行程式碼使用
write
方法來把字串寫入檔案中。
在這個例子中,
remove_numbers_from_file
函式接受輸入檔名和輸出檔名作為引數。它首先讀取輸入檔案的內容,然後使用正規表示式
r'\d+'
來匹配數字,並使用
re.sub
函式將其替換為空字串,從而刪除數字。最後,它將結果寫入輸出檔案。
這樣我們可以將
'input.txt'
和
'output.txt'
來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/70034537/viewspace-3012291/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 批量刪除檔案中的^M
- 刪除Repository中的檔案
- 針對字尾刪除檔案的方法
- liunx批量刪除指定字尾的檔案
- Linux 批量刪除指定字尾的檔案Linux
- Linux刪除指定字尾名的檔案Linux
- 如何永久刪除Mac中的檔案?Mac
- 檔案的刪除
- JavaScript刪除字串中的非數字內容JavaScript字串
- 刪除排序陣列中的重複數字排序陣列
- 刪除檔案
- Linux刪除指定字尾名檔案的命令Linux
- 刪除指定目錄下指定字尾的檔案
- linux 刪除所有字尾名相同的檔案Linux
- 刪除檔案中包含指定字串的行字串
- eclipse中恢復刪除的檔案Eclipse
- 在 Linux 中如何刪除檔案中的空行Linux
- vim刪除文字檔案中末行^M
- SVN !檔案刪除
- rm 刪除檔案
- 批次刪除檔案
- Git——刪除檔案Git
- Linux下批量刪除空檔案或者刪除指定大小的檔案Linux
- u盤裡的檔案無法刪除 如何刪除u盤裡刪不掉的檔案
- 刪除github上的檔案Github
- 恢復刪除的檔案
- 刪除檔案的恢復
- 刪除古怪檔案的方法
- 刪除正在使用的檔案
- 刪除vmvare的大檔案
- 得到txt空白行的行數、將txt檔案的空行刪除和刪除csv檔案中指定的行
- 在Linux中,有一個檔案,如何刪除包含“www“字樣的字元?Linux字元
- LintCode 刪除數字
- win10休眠檔案有必要刪除嗎 刪除休眠檔案的方法Win10
- 怎麼刪除電腦中開啟的檔案記錄?刪除電腦中開啟的檔案記錄方法教程
- Python 刪除目錄中特定檔案Python
- git的忽略檔案和刪除檔案操作Git
- 刪除控制檔案中的磁帶備份資訊