Python-按空格分割,多個空格當一個空格

业余砖家發表於2024-07-19

1.概述

Python中,我們可以使用split()函式來按照指定的分隔符對字串進行分割。預設情況下,split()函式以空格作為分隔符,將字串分割成一個列表。然而,如果字串中有多個連續的空格,split()函式會將它們都當作分隔符,導致分割後的列表中會有空白項。本文將教會你如何按照空格分割字串時,將多個連續的空格當作一個空格對待。

2.解決方案

下面是解決這個問題的步驟:

步驟

動作

1

使用正規表示式替換多個連續空格為一個空格

2

使用split()函式按照空格分割字串

(1)使用正規表示式替換多個連續空格為一個空格

首先,我們需要使用正規表示式將字串中的多個連續空格替換為一個空格。正規表示式是一種強大的模式匹配工具,可以用來匹配和替換字串中的特定模式。在Python中,我們可以使用re模組來進行正規表示式的處理。

import re

# 將多個連續空格替換為一個空格
text = re.sub(r'\s+', ' ', text)

在上述程式碼中,我們使用re.sub()函式來替換字串中的多個連續空格。其中,第一個引數是用來匹配的正規表示式,'\s+'表示匹配一個或多個連續的空白字元(包括空格、製表符、換行符等)。第二個引數是替換後的字元,這裡我們將其替換為一個空格。

(2)使用split()函式按照空格分割字串

接下來,我們可以使用split()函式按照空格分割經過替換後的字串。split()函式會將字串分割成一個列表,每個列表項都是按照空格分隔的子字串。

# 按照空格分割字串
words = text.split(' ')

在上述程式碼中,我們使用split()函式按照空格分割字串,其中引數為一個空格字元。這樣,就可以將經過替換後的字串分割成一個列表,每個列表項都是按照空格分隔的子字串。

3.完整程式碼示例

下面是一個完整的程式碼示例,展示瞭如何實現python按空格分割,多個空格當一個空格”。

import re


def split_text(text):

    # 將多個連續空格替換為一個空格
    text = re.sub(r'\s+', ' ', text)

    # 按照空格分割字串
    words = text.split(' ')

    return words


# 測試程式碼
text = 'Hello   World!  Python      is    awesome.'

words = split_text(text)

print(words)

執行上述程式碼,輸出結果為:

  ['Hello', 'World!', 'Python', 'is', 'awesome.']

相關文章