亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用python拆分字符串中的中文單詞和英文單詞?

如何使用python拆分字符串中的中文單詞和英文單詞?

達令說 2023-02-15 16:33:25
例如,我有一些字符串如下所示:'人均收入 Per capital Income','總產值 Gross Output Value'.我想把它們分成'人均收入' 'Per capital Income''總產值' 'Gross Output Value'漢字總是在英文單詞之前。
查看完整描述

3 回答

?
牛魔王的故事

TA貢獻1830條經驗 獲得超3個贊

如果始終只有一個中文文本跨度,您可以只在第一個空格處拆分:


s.split(' ', 1)

如果中文文本中可能有空格,您可以查找第一個不是空格的 ASCII 字符:


for ii, ch in enumerate(s): 

    if not ch.isspace() and ch.isascii():

        break

當該循環完成時,它會將iiset 保留為第一個非空格的 ASCII 字符的索引。你可以把它變成一個像這樣的函數并像這樣進行拆分:


def split_ascii(s): 

    for ii, ch in enumerate(s): 

        if not ch.isspace() and ch.isascii(): 

            break 

    return s[:ii].rstrip(), s[ii:]


查看完整回答
反對 回復 2023-02-15
?
MM們

TA貢獻1886條經驗 獲得超2個贊

您也可以嘗試正則表達式:


import re


s = '人均收入 Per capital Income'

result = re.match(r"([\u4e00-\u9fa5]*)([A-Za-z\s]*)", s)

print(result.group(1)) # 人均收入

print(result.group(2)) #  Per capital Income 


查看完整回答
反對 回復 2023-02-15
?
暮色呼如

TA貢獻1853條經驗 獲得超9個贊

對我來說很難使用正則表達式。我更喜歡做這個選項:


import string

i = 0

CHINESE = ''

ENGLISH = ''

while i < len('人均收入 Per capital Income'):

  if '人均收入 Per capital Income'[i] in string.ascii_letters:

    break

  i += 1

CHINESE = '人均收入 Per capital Income'[:i-1]

ENGLISH = '人均收入 Per capital Income'[i:]


查看完整回答
反對 回復 2023-02-15
  • 3 回答
  • 0 關注
  • 228 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號