簡體   English   中英

如何在python中將字符串剪切成一對字符串

[英]how to cut a string into a pair of strings in python

我想做的是:

mystr = i_return_a_string()
fst_part, snd_part = mystr[:4], mystr[4:]

但如果可以這樣做(使用內置函數/方法),我會更高興,如:

fst_part, snd_part = i_return_a_string().cut_at(4)

這有點像str.partition ,區別在於我想指定索引。

  1. 有這個方法嗎?

  2. 如果不是,那么我最好的方式是什么?

在這個例子中, mystr只需要作為返回值(函數i_return_a_string )的臨時存儲,永遠不會被再次引用,這讓我有點不舒服。

總結所給出的評論(因為我不敢打開這個問題):

  • 使用切片是慣用的方式(@ZeroPiraeus)
  • 如果我真的不喜歡它,我可以編寫自己的函數(@wwii,@ ZeroPiraeus和@Bobby的答案)或者我可以更改基本函數以便它已經返回一個元組(@Ghanima)
  • 使用臨時變量非常好(@MartijnPieters,@ ZeroPiraeus)。
  • 如果我真的,真的,真的需要使用內置和等等,總會有另一種方式(@myersjustinc的回答)。

如果你真的覺得有必要(雖然我覺得使用mystr[:4], mystr[4:]而不是你的例子更有意義),你可以使用正則表達式:

fst_part, snd_part = re.match(r'(.{4})(.*)', i_return_a_string()).groups()

可能不是你正在尋找的確切語法,但也許這是你的胡同?

def i_return_a_string():
    return "examplestring"

def cut_at(example_string, index):
    return example_string[:index], example_string[index:]

fst_part, snd_part = cut_at(i_return_a_string(), 4)
print fst_part, snd_part

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM