在Python中for迴圈和re sub怎麼一起用

2021-03-22 12:16:45 字數 2542 閱讀 7071

1樓:匿名使用者

在python中re是乙個常用的模組,主要是通過正規表示式進行字串處理。它的速度相對自己用 find, replace, split來說,通常更快。當然功能更強大。

正規表示式也是一種語言,所以如果通過re.***pile把它編譯成物件,會速度快很多。所以我們經常看到這樣的語句

exp = re.***pile("\s+")

m = exp.search(bigtext)

print m.group(0)

這段話等同於

m = re.search("\s+", bigtext)

print m.group(0)

re.sub則相當於字串操作中的replace,比如

sometext = re.sub("(?isu)\r\n", "\n", sometext)

上面這句話是將回車換行,變成換行。這是為了將windows下的文字檔案移到linux下,防止某些軟體不相容所做的處理。

簡單的說re.sub是做字串替換的, re.***pile是將正規表示式編譯成乙個物件,加快速度,並重複使用。

2樓:匿名使用者

re.sub跟str.replace功能一樣,區別在於sub更靈活,效率更高

跟for在一起用不知道具體什麼意思,寫了2個簡單的函式,你參考下吧

import re

def my_re_sub_test():

"""將檔案中所有hello全部替換為hi"""

for line in open('f:\\tmp.txt', encoding='gbk'):

newline = re.sub('hello', 'hi', line)

print(newline, end='')

def my_re_sub_test2():

"""將字串中按指定字典的key-value值替換"""

my_line = 'hello world'

reg_list =

for key in reg_list:

my_line = re.sub(key, reg_list[key], my_line)

print(my_line)

如何用python的re.sub( )方法進行「多處」替換

3樓:日time寸

正規表示式裡 或 是 |

import re

s0 = 'boy and girl'

s1 = re.sub(r'boy|girl', 'human', s0)

print s1

# human and human

python如何使用re模組的sub函式實現把一串字母或者數字組合的字串,全部替換成*

4樓:匿名使用者

\w沒有加引號

print re.sub("\w","*",__string3)

python 中for迴圈和後面的語句一起執行就出錯誤,print和for單獨執行就沒問題。有知道的大神請指點!

5樓:匿名使用者

你這是在用來python自帶的ide(新手推薦使用自pycharm, 自帶

bai的對新手不友好)

自帶ide每一條命令(也就du是每個zhi">>> "後面的**), 只能走一dao條**

你這裡是兩條(for迴圈和print函式), 所以自帶ide不支援這樣

你需要把這兩條**分開, 和下圖類似:

python中,如何在每一次for迴圈時都建乙個新的列表?

6樓:大野瘦子

這樣:list =

>>> for i in range(5):

...>>> list

[[0], [1], [2], [3], [4]]>>> list[0]

[0]>>> list[1]

[1]注意事項

python for迴圈可以遍歷任何序列的專案,如乙個列表或者乙個字串。

語法:for迴圈的語法格式如下:

for iterating_var in sequence:

statements(s)

例如:#!/usr/bin/python

# -*- coding: utf-8 -*-for letter in 'python':     # 第乙個例項

print '當前字母 :', letterfor fruit in fruits:        # 第二個例項

print '當前水果 :', fruitprint "good bye!"

python中for迴圈兩個列表要怎麼使用

7樓:匿名使用者

for x, y in zip(a, b):

print(f'x=, y=')

# x=1, y=4

# x=2, y=5

# x=3, y=6或者

for迴圈的python指令碼程式中如何加入多程序 併發進

簡單的如下 from multiprocessing import process def ps i print str i def run for i in range 5 if name main run 什麼意思呢?如果你是在要在迴圈體內建立多程序,每迴圈一次便增加一個程序,那麼只需要把建立多...

python定義函式,在python中定義函式

params 就是 5,5 5,2 就是2個5的元組,乘號可以理解成相加。30就是30個 的字串 params作為引數,前面的 號就是把params元組分解成元素的意思,這樣就分開成為2個引數了。實際上傳遞給了x,y 於是就執行了power 5,5 在python中定義函式 涉及到狀態儲存,可以使用...

如何在中在R上加橫線,如何在WORD中在R上加橫線

格式 字型,在效果欄裡 選中 刪除線 按確定,然後輸入文字 這樣r上就會有橫線了。選中r,然後選拼音指南,在其中輸入一橫槓 鬱悶,只能在下面和中間加個橫線,我找不到方法 把 r 選中 後,上面有個u,底下帶橫線的,點一下就可以啦。來這裡看看 吧1 可能能幫助你 怎樣在word中加一條橫線 1 首先在...