我有一个很长的问题。我想用Python把它分成几行。在JavaScript中实现这一点的一种方法是使用几个句子,并用一个操作符将它们连接起来(我知道,这可能不是最有效的方法,但我并不真正关心这一阶段的性能,只关心代码的可读性)。例子:
var long_string = 'some text not important. just garbage to' +
'illustrate my example';
我尝试在Python中做类似的事情,但不起作用,所以我使用\
来拆分长字符串。但是,我不确定这是否是唯一/最佳/pythonicest的方法。看起来很尴尬。实际代码:
query = 'SELECT action.descr as "action", '\
'role.id as role_id,'\
'role.descr as role'\
'FROM '\
'public.role_action_def,'\
'public.role,'\
'public.record_def, '\
'public.action'\
'WHERE role.id = role_action_def.role_id AND'\
'record_def.id = role_action_def.def_id AND'\
'action.id = role_action_def.action_id AND'\
'role_action_def.account_id = ' + account_id + ' AND'\
'record_def.account_id=' + account_id + ' AND'\
'def_id=' + def_id
通过\
断行对我有用。这是一个例子:
longStr = "This is a very long string " \
"that I wrote to help somebody " \
"who had a question about " \
"writing long strings in Python"
如果您不需要多行字符串,而只需要一个长的单行字符串,可以使用括号。只要确保在字符串段之间不包含逗号(那么它将是一个元组)。
query = ('SELECT action.descr as "action", '
'role.id as role_id,'
'role.descr as role'
' FROM '
'public.role_action_def,'
'public.role,'
'public.record_def, '
'public.action'
' WHERE role.id = role_action_def.role_id AND'
' record_def.id = role_action_def.def_id AND'
' action.id = role_action_def.action_id AND'
' role_action_def.account_id = '+account_id+' AND'
' record_def.account_id='+account_id+' AND'
' def_id='+def_id)
在一个SQL的语句中,像你正在构造的那样,多行字符串也可以。但是如果多行字符串包含的额外空白是个问题,那么这将是实现你想要的东西的好方法。
如注释中所述,以这种方式连接SQL查询是一种即将发生的SQL注入安全风险,因此请使用数据库的参数化查询功能来防止这种情况。然而,我留下了答案,因为它直接回答了问题。
你说的是多行字符串吗?简单,使用三重引号开始和结束它们。
s = """ this is a very
long string if I had the
energy to type more and more ..."""
您也可以使用单引号(其中3个当然在开始和结束处),并像处理任何其他字符串一样处理结果字符串。
注意:就像任何字符串一样,起始引号和结束引号之间的任何内容都会成为字符串的一部分,因此这个示例有一个前导空格(正如@root45所指出的)。该字符串还将包含空格和换行符。
即。,:
' this is a very\n long string if I had the\n energy to type more and more ...'
最后,还可以像这样在Python中构造长线:
s = ("this is a very"
"long string too"
"for sure ..."
)
这将不包括任何额外的空白或换行符(这是一个故意的例子,显示跳过空白会导致什么效果):
'this is a verylong string toofor sure ...'
不需要逗号,只需将要连接在一起的字符串放在一对括号中,并确保考虑到任何需要的空格和换行符。
我有一个很长的问题。我想用Python把它分成几行。在JavaScript中实现这一点的一种方法是使用几个句子,并用操作符将它们连接起来(我知道,这可能不是最有效的方法,但我并不真正关心这一阶段的性能,只关心代码的可读性)。例子: 我试着用Python做类似的事情,但没有成功,所以我用来拆分长字符串。然而,我不确定这是否是唯一/最好/最好的方法。看起来很尴尬。实际代码:
为什么下面的bash代码不起作用? 预期产出:
问题内容: 我有一张表,其中包含一列以可变长度定界的字符串,例如: 20,0,5 ,, ^ 24,0,0 ,, ^ 26,0,0 ,, ^ 281,0,0 ,, ^ 34,0,2 ,, ^ 48,0,2 ,, ^ 44, 0,2 ,, ^ 20,0,10 ,, ^ 20,5,5 ,, ^ 379,1,1 ,, ^ 26,1,2 ,, ^ 32,0,1 ,, ^ 71,0, 2,^ 我需要做的是拆分
问题内容: 有没有办法在不知道字符串长度的情况下,将一个字符长的字符串切成4个字符串,每个字符长? 例如: 问题答案:
问题内容: 我如何将字符串分成多行,如下所示? 问题答案: Swift 4包括对多行字符串文字的支持。除换行符外,它们还可以包含未转义的引号。 较早版本的Swift不允许您在多行上使用单个文字,但可以在多行上将文字添加在一起:
我目前正在尝试将字符串拼接成多行字符串。正则表达式应选择前面有 13 个字符的空格。 问题在于,13个字符的计数在前一个选定的空白之后不会重置。因此,在前13个字符之后,正则表达式选择每个空白。 我使用以下正则表达式,其 13 个字符: (结尾有一个空格) 您可以在这里测试正则表达式和以下代码: 此代码的输出如下所示: 这是个测试。 应用 应在 13 个字符后的空格上以子字符串分隔此字符串 但应该