Python分割字符串保留换行符 提取单词首字母保持原换行格式的实现方法
问题原因
你调用无参的split()方法时,会把所有空白字符(空格、换行、制表符等)统一作为分隔符,直接丢失了原文本的换行位置信息,所以最终拼接结果只会是一行。
解决方法
你可以先按行拆分原文本,逐行处理后再用换行符拼接,修改后代码如下:
r = '''I want to write the first letter of every item while linebreak stay same''' # 先按行拆分原文本 lines = r.splitlines() processed_lines = [] # 逐行提取单词首字母 for line in lines: words = line.split() first_letters = [word[0] for word in words] processed_lines.append(' '.join(first_letters)) # 用换行符拼接所有处理后的行 result = '\n'.join(processed_lines) print(result)
也可以用生成器表达式写成精简版本:
r = '''I want to write the first letter of every item while linebreak stay same''' result = '\n'.join(' '.join(word[0] for word in line.split()) for line in r.splitlines()) print(result)
输出效果
运行后即可得到你预期的格式:
I w t w t f l o e i w l s s
内容的提问来源于stack exchange,提问作者Eren Kurosanoawa
相关产品推荐
相关产品推荐

