Hướng dẫn python split on one or more spaces - python chia thành một hoặc nhiều khoảng trắng

Tôi có một chuỗi được định dạng từ một tệp nhật ký, trông giống như:

>>> a="test                            result"

Đó là, thử nghiệm và kết quả được phân chia bởi một số không gian - nó có thể được tạo ra bằng cách sử dụng chuỗi được định dạng cho

>>> a.split(" ")
['test', '', '', '', ... '', '', '', '', '', '', '', '', '', '', '', 'result']
2 một số khoảng cách không đổi.

Tách đơn giản sẽ không thực hiện thủ thuật:

>>> a.split(" ")
['test', '', '', '', ... '', '', '', '', '', '', '', '', '', '', '', 'result']

>>> a.split(" ")
['test', '', '', '', ... '', '', '', '', '', '', '', '', '', '', '', 'result']
3 đã xóa một số giá trị không cần thiết:

>>> a.split(" ",1)
['test', '                           result']

Điều này đã giúp - nhưng tất nhiên, tôi thực sự cần:

['test', 'result']

Tôi có thể sử dụng

>>> a.split(" ")
['test', '', '', '', ... '', '', '', '', '', '', '', '', '', '', '', 'result']
4 theo sau là
>>> a.split(" ")
['test', '', '', '', ... '', '', '', '', '', '', '', '', '', '', '', 'result']
5 +
>>> a.split(" ")
['test', '', '', '', ... '', '', '', '', '', '', '', '', '', '', '', 'result']
6, nhưng tôi tự hỏi liệu có một cách nào khác để làm điều đó.

Thanks,

Adam

Cập nhật: Một giải pháp đơn giản như vậy! Cảm ơn tất cả. Such a simple solution! Thank you all.

Nguồn cấp dữ liệu trở lại/ hình thức vận chuyển

Không gian

Theo mặc định, String.Split (), không có đối số được truyền, chia chuỗi thành các đoạn với tất cả các ký tự không gian trắng làm dấu phân cách.

import re

text = "split    this        text"

words = re.split(r'\s{2,}', text)

print(words)  # ['split', 'this', 'text']

Output:

['split', 'this', 'text']

Note:

  • Bản tóm tắt
  • Trong hướng dẫn này về các ví dụ Python, chúng tôi đã học cách chia một chuỗi theo không gian bằng các phương thức String.Split () và Re.Split (). Ngoài ra, chúng tôi đã học được cách phân chia một chuỗi bằng cách coi tất cả các ký tự khoảng trắng là dấu phân cách.

Hướng dẫn liên quan

  • Chuỗi phân tách Python bởi dấu phẩy

Nguồn cấp dữ liệu dòng mới

  • 0b
  • Tab dọc
  • Ví dụ 2: Chia chuỗi phân chia theo một hoặc nhiều không gian liền kề
  • Trong ví dụ này, chúng tôi sẽ lấy một chuỗi với các khối được phân tách bằng một hoặc nhiều ký tự không gian đơn. Sau đó, chúng ta sẽ phân chia chuỗi bằng hàm re.split (). Re.Split () trả về các khối trong một danh sách.
  • Ví dụ 2: Chia chuỗi phân chia theo một hoặc nhiều không gian liền kề

Trong ví dụ này, chúng tôi sẽ lấy một chuỗi với các khối được phân tách bằng một hoặc nhiều ký tự không gian đơn. Sau đó, chúng ta sẽ phân chia chuỗi bằng hàm re.split (). Re.Split () trả về các khối trong một danh sách.

Chúng tôi sẽ sử dụng gói Python

>>> a.split(" ")
['test', '', '', '', ... '', '', '', '', '', '', '', '', '', '', '', 'result']
7 trong chương trình sau.
>>> a.split(" ",1)
['test', '                           result']
4 Danh sách các phần của các khối phân chia từ
>>> a.split(" ",1)
['test', '                           result']
5 dựa trên
>>> a.split(" ",1)
['test', '                           result']
6.String.split() and re.split() methods.

Biểu thức chính quy

>>> a.split(" ",1)
['test', '                           result']
7 đại diện cho một hoặc nhiều không gian xuất hiện ngay lập tức. Vì vậy, một hoặc nhiều ký tự không gian đơn được coi là một dấu phân cách.

Tab dọc

0d

Chương trình Python

str = '63 41 92 81 69 70'

#split string by single space
chunks = str.split(' ')

print(chunks)

Chạy

Đầu ra

['63', '41', '92', '81', '69', '70']

Ví dụ 2: Chia chuỗi phân chia theo một hoặc nhiều không gian liền kề

Trong ví dụ này, chúng tôi sẽ lấy một chuỗi với các khối được phân tách bằng một hoặc nhiều ký tự không gian đơn. Sau đó, chúng ta sẽ phân chia chuỗi bằng hàm re.split (). Re.Split () trả về các khối trong một danh sách.

Chúng tôi sẽ sử dụng gói Python

>>> a.split(" ")
['test', '', '', '', ... '', '', '', '', '', '', '', '', '', '', '', 'result']
7 trong chương trình sau.
>>> a.split(" ",1)
['test', '                           result']
4 Danh sách các phần của các khối phân chia từ
>>> a.split(" ",1)
['test', '                           result']
5 dựa trên
>>> a.split(" ",1)
['test', '                           result']
6.

Chương trình Python

import re

str = '63 41    92  81            69  70'

#split string by single space
chunks = re.split(' +', str)

print(chunks)

Chạy

Đầu ra

Đầu ra

['63', '41', '92', '81', '69', '70']

Ví dụ 2: Chia chuỗi phân chia theo một hoặc nhiều không gian liền kề

Trong ví dụ này, chúng tôi sẽ lấy một chuỗi với các khối được phân tách bằng một hoặc nhiều ký tự không gian đơn. Sau đó, chúng ta sẽ phân chia chuỗi bằng hàm re.split (). Re.Split () trả về các khối trong một danh sách.

Chúng tôi sẽ sử dụng gói Python

>>> a.split(" ")
['test', '', '', '', ... '', '', '', '', '', '', '', '', '', '', '', 'result']
7 trong chương trình sau.
>>> a.split(" ",1)
['test', '                           result']
4 Danh sách các phần của các khối phân chia từ
>>> a.split(" ",1)
['test', '                           result']
5 dựa trên
>>> a.split(" ",1)
['test', '                           result']
6.

Biểu thức chính quy

>>> a.split(" ",1)
['test', '                           result']
7 đại diện cho một hoặc nhiều không gian xuất hiện ngay lập tức. Vì vậy, một hoặc nhiều ký tự không gian đơn được coi là một dấu phân cách.

Một quặng không gian liền kề hơn được coi là một dấu phân cách duy nhất vì biểu thức thông thường. Ví dụ 3: Chia chuỗi phân chia theo bất kỳ ký tự không gian trắng nào
09 Trong ví dụ này, chúng ta sẽ chia chuỗi thành các khối với bất kỳ ký tự không gian trắng nào là DELIMITER.
Sau đây là danh sách các ký tự không gian trắng từ bảng ASCII.Mã Hex ASCII
Sự mô tảTab ngang
0aNguồn cấp dữ liệu dòng mới
20 0b

Tab dọc

Chương trình Python

>>> a.split(" ")
['test', '', '', '', ... '', '', '', '', '', '', '', '', '', '', '', 'result']
0

Chạy

Đầu ra

['63', '41', '92', '81', '69', '70']

Ví dụ 2: Chia chuỗi phân chia theo một hoặc nhiều không gian liền kề

Trong ví dụ này, chúng tôi sẽ lấy một chuỗi với các khối được phân tách bằng một hoặc nhiều ký tự không gian đơn. Sau đó, chúng ta sẽ phân chia chuỗi bằng hàm re.split (). Re.Split () trả về các khối trong một danh sách.

Chúng tôi sẽ sử dụng gói Python >>> a.split(" ") ['test', '', '', '', ... '', '', '', '', '', '', '', '', '', '', '', 'result'] 7 trong chương trình sau. >>> a.split(" ",1) ['test', ' result'] 4 Danh sách các phần của các khối phân chia từ >>> a.split(" ",1) ['test', ' result'] 5 dựa trên >>> a.split(" ",1) ['test', ' result'] 6.

  • Biểu thức chính quy
    >>> a.split(" ",1)
    ['test', '                           result']
    
    7 đại diện cho một hoặc nhiều không gian xuất hiện ngay lập tức. Vì vậy, một hoặc nhiều ký tự không gian đơn được coi là một dấu phân cách.
  • Một quặng không gian liền kề hơn được coi là một dấu phân cách duy nhất vì biểu thức thông thường.
  • Ví dụ 3: Chia chuỗi phân chia theo bất kỳ ký tự không gian trắng nào
  • Trong ví dụ này, chúng ta sẽ chia chuỗi thành các khối với bất kỳ ký tự không gian trắng nào là DELIMITER.
  • Làm thế nào để phân chia chuỗi bằng cách nhấn mạnh trong Python?

Có thể chia có nhiều dấu phân cách python không?

Chia chuỗi với nhiều dấu phân cách, chúng tôi cũng có thể chỉ định nhiều ký tự là dấu phân cách.Đối với điều này, chúng ta cần sử dụng mô -đun RE của Python và nhập RE.Chia () hàm.We can also specify multiple characters as separators. For this, we need to make use of the re module of Python and import the re. split() function.

Sự khác biệt giữa dải và phân chia trong Python là gì?

Không có sự khác biệt.Split () bỏ qua khoảng trắng ở hai đầu của đầu vào theo mặc định.Mọi người gọi Dải () trước tiên vì họ nghĩ rằng nó rõ ràng hơn hoặc vì họ không biết hành vi chia tách này ().. split() ignores whitespace on the ends of the input by default. People call strip() first either because they think it's clearer or because they don't know this behavior of split() .