首页 > 解决方案 > 如何在 python 中加入字符串以获得多行文本,以便 \n 表示新行而不是字符?

问题描述

给定一个字符串列表:['string_a', 'string_b', 'string_c']

如果我用 a 加入这些字符串\n

'\n'.join(['string_a', 'string_b', 'string_c'])

结果是(案例0):'string_a\nstring_b\nstring_c'

如果我打印结果(案例 1):

string_a
string_b
string_c

鉴于我想使用正则表达式找到包含 string_b 的行及其下方的所有内容,但这就是我找到的:https ://regex101.com/r/yF4u2I/1

正则表达式r'string_b\n.+'可以在案例 1 中找到文本,但在案例 0 中找不到。

但是,如果我将正则表达式更改为r'string_b\\n.+'它只会在 case 0 中找到文本。发生这种情况是因为\n被视为字符而不是换行符。

如何加入字符串列表以获得多行字符串?或者使用正则表达式找到它的另一种方法是什么?

标签: pythonregexstringnewline

解决方案


您可以使用“|” 或者这样:

r'string_b\n.+|string_b.+'

希望这可以帮助!


推荐阅读