怎么切片第1个标点符号之前的话,并保留标点符号符号?

# 切片第1个标点符号之前的话
z ='''
什么是教育?让具有相当程度的思想可塑性的人类接收并接受一定的信息。

什么是驯服?将野生动物通过各种手段,使其习惯和人类一起生存——通过温和或者强制的手段。

什么是自由?我也不知道。



即使是自由主义者,大概也不会同意让婴幼儿随意使用精神药物。

即使是专制主义者,大概也不会同意思想道德完全由教育塑造。
'''

# print 打印

'''
什么是教育?
什么是驯服?
什么是自由?
即使是自由主义者,
即使是专制主义者,
'''

对您有帮助,请点击我的回答左下角
“采纳该答案”

#!/usr/bin/nve python
# coding: utf-8
import re

# 切片第1个标点符号之前的话
z ='''
什么是教育?让具有相当程度的思想可塑性的人类接收并接受一定的信息。
什么是驯服?将野生动物通过各种手段,使其习惯和人类一起生存——通过温和或者强制的手段。
什么是自由?我也不知道。
即使是自由主义者,大概也不会同意让婴幼儿随意使用精神药物。
即使是专制主义者,大概也不会同意思想道德完全由教育塑造。
'''

lines = z[1:-1].split('\n')
flags = [re.findall(r'\W', i)[0] for i in lines]
result = [line.split(y)[0]+y for line,y in zip(lines, flags)]
print('\n'.join(result))

img


对您有帮助,请点击左边
“采纳该答案”

你确定理解什么是切片吗
z[:6]就是你要的问号之前的文字
如果你不确定标点在哪,你需要正则匹配,re.find

    import re
    strs = z.split("\n")
    for s in strs:
        s = s.strip()
        if s:
            index = re.finditer('[?,]', s).__next__().span()[1]
            print(s[:index])