Tôi có đầu ra của lệnh trong dạng bảng. Tôi đang phân tích cú pháp đầu ra này từ một tệp kết quả và lưu nó trong một chuỗi. Mỗi phần tử trong một hàng được phân tách bằng một hoặc nhiều ký tự khoảng trắng, do đó tôi sử dụng cụm từ thông dụng để khớp với 1 hoặc nhiều khoảng trắng và chia tách nó. Tuy nhiên, một khoảng trắng được chèn vào giữa mọi phần tử:Tách chuỗi dựa trên cụm từ thông dụng
>>> str1="a b c d" # spaces are irregular
>>> str1
'a b c d'
>>> str2=re.split("()+", str1)
>>> str2
['a', ' ', 'b', ' ', 'c', ' ', 'd'] # 1 space element between!!!
Có cách nào tốt hơn để làm điều này không?
Sau mỗi lần tách str2
được nối vào danh sách.
Tôi đã bỏ phiếu này xuống. Lý do là trong khi câu hỏi chính nó là có liên quan ví dụ nhất định là không đủ cứng để thực sự yêu cầu giải pháp được yêu cầu. Một regex sẽ được yêu cầu nếu bạn có ví dụ khối từ, khối số và bạn muốn tách chúng thành các biến khác nhau. – erikbwork
@erikbwork Tôi muốn xóa mục không mong muốn trong chuỗi kết quả '' str2'' – user2763554
Có và bạn có thể đạt được điều đó bằng cách sử dụng 'str1.split()'. Không cần regex. – erikbwork