Skip to main content
 首页 » 编程设计

python之如何在特定字符计数后在 Python 中拆分字符串

2025年05月04日22sharpest

如果这是重复的,我深表歉意,但我似乎找不到任何涉及根据字符 count 拆分字符串的内容。例如,假设我有以下字符串:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ullamcorper, eros  
sed porta dapibus, nunc nibh iaculis tortor, in rhoncus quam orci sed ante. Sed  
ac dictum nibh. 

现在,我可以根据特定字符拆分字符串,但是如何在第 nth 个字符之后拆分该字符串,而不管它是什么?像这样的东西,只有一个有效的语法就是我的想法:

max_char = n #where n is the number of characters to split after 
MyText = 'User input string. This is usually at least a paragraph long.' 
char_count = len(MyText) 
if char_count > max_char: 
 #split string at max_char, create variables: MyText1 and MyText2 

如有任何帮助,我们将不胜感激。谢谢!

更新

我想发布此更新,因为我的问题只解决了我问题的一半。多亏了 Martijin 在下面的回答,我很容易将上面的字符串切片。但是,由于我正在编辑的字符串是用户提交的,所以我遇到了将单词切成两半的问题。为了解决这个问题,我结合使用了 rsplit 和 rstrip 来正确地分解段落。以防万一有人遇到和我一样的问题,这里是我用来让它工作的代码:

line1 = note[:36] 
line2 = note[36:] 
 
if not line1.endswith(' ', 1): 
 line2_2 = line1.rsplit(' ')[-1] 
 line1_1 = line1.rstrip(line2_2) 
 line2_2 = line2_2 + line2 
 line1 = '' 
 line2 = '' 

现在,我确信有一种更有效/更优雅的方法可以做到这一点,但这仍然有效,希望有人能从中受益。谢谢!

请您参考如下方法:

您正在寻找slicing :

MyText1, MyText2 = MyText[:max_char], MyText[max_char:] 

Python 字符串是序列,要选择第一个 max_char 字符,只需使用切片来选择它们,而对于后半部分,选择从 max_char 开始直到结束的所有内容.

这是 covered in the Python tutorial