Nhờ sửa code python liên quan đến biểu thức chính quy

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

nghiank09

Thành viên hoạt động
Tham gia
1/3/12
Bài viết
143
Được thích
30
Chào các bạn,

Mình có đoạn code sau, xin các bạn hỗ trợ sửa lỗi. Mình chạy thì báo lỗi re.error: bad escape \R at position 18 ở dòng code
myfile = re.sub(r'^(Dir|\d{2}:|$).*\R',' ', myfile) # remove all non-XML-compatible characters


Mã:
import webvtt
from docx import Document
import re
import os

# path = '/users/tdobbins/downloads/smithtxt'
path = 'D:/A'
direct = os.listdir(path)

for i in direct:
    document = Document()
    document.add_heading(i, 0)
    myfile = open('D:/A/'+i,encoding="utf8").read()
    myfile = re.sub(r'^(Dir|\d{2}:|$).*\R',' ', myfile) # remove all non-XML-compatible characters
    p = document.add_paragraph(myfile)
    document.save('D:/A/'+i+'.docx')

Cám ơn các bạn
 
Lần chỉnh sửa cuối:
Chào các bạn,

Mình có đoạn code sau, xin các bạn hỗ trợ sửa lỗi. Mình chạy thì báo lỗi re.error: bad escape \R at position 18 ở dòng code
myfile = re.sub(r'^(Dir|\d{2}:|$).*\R',' ', myfile) # remove all non-XML-compatible characters


Mã:
import webvtt
from docx import Document
import re
import os

# path = '/users/tdobbins/downloads/smithtxt'
path = 'D:/A'
direct = os.listdir(path)

for i in direct:
    document = Document()
    document.add_heading(i, 0)
    myfile = open('D:/A/'+i,encoding="utf8").read()
    myfile = re.sub(r'^(Dir|\d{2}:|$).*\R',' ', myfile) # remove all non-XML-compatible characters
    p = document.add_paragraph(myfile)
    document.save('D:/A/'+i+'.docx')

Cám ơn các bạn
thay \R thành [\r\n] thử bạn.
 
thay \R thành [\r\n] thử bạn.
Cám ơn bạn. Mình đã thử và file không báo lỗi. Bạn cho mình hỏi thêm dường như đoạn code trên topic chỉ có tác dụng trong dòng đầu tiên. Vì sau khi chạy code chỉ có dòng đầu tiên thay đổi, các dòng còn lại như cũ :) Mình mong muốn dòng nào chứa Dir hoặc \d{2}: hoặc $ thì sẽ xóa đi :)
 
Lần chỉnh sửa cuối:
Cám ơn bạn. Mình đã thử và file không báo lỗi. Bạn cho mình hỏi thêm dường như đoạn code trên topic chỉ có tác dụng trong dòng đầu tiên. Vì sau khi chạy code chỉ có dòng đầu tiên thay đổi, các dòng còn lại như cũ :)
thêm re.MULTILINE vào bạn
Mã:
re.sub(r'^(Dir|\d{2}:|$).*[\r\n]',' ', myfile, re.MULTILINE)
 
Thanks bạn rất nhiều. :yahoo::yahoo::yahoo::yahoo::yahoo::yahoo::yahoo:
 
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom