Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中字符串中的特殊字符_Python_Regex_String_Replace_Translate - Fatal编程技术网

python中字符串中的特殊字符

python中字符串中的特殊字符,python,regex,string,replace,translate,Python,Regex,String,Replace,Translate,我生成一个字符串,如下所示,它是一个df表达式 但是,当我添加另外两个变量时,我会收到一个包含大量斜杠字符的字符串。在第二种情况下,使用print时工作正常,但在函数中使用return string时不工作。你能给我提个建议吗 下面是正确生成的一个 str = "{0}{1}.selectExpr('*',{2})".format(df,filter_feature,retrieved_features) return str "ptf_overall1.fi

我生成一个字符串,如下所示,它是一个df表达式

但是,当我添加另外两个变量时,我会收到一个包含大量斜杠字符的字符串。在第二种情况下,使用print时工作正常,但在函数中使用return string时不工作。你能给我提个建议吗

下面是正确生成的一个

str =  "{0}{1}.selectExpr('*',{2})".format(df,filter_feature,retrieved_features)

return str

"ptf_overall1.filter(ptf_overall1.measurement_group == 'test').selectExpr('*','case when email_14days > 0 then 1 else 0 end as journey_email_been_sent_flag','case when opened_14days > 0 then 1 else 0 end as journey_opened_flag')"
但是,当我尝试向现有字符串添加以下两个字符串时,它会生成一个带有大量斜杠的字符串

print(group)

  .groupBy("country")

print(sum)

  .sum("email_14days")



str1 = "{0}{1}.selectExpr('*',{2}){3}{4}".format(df,filter_feature,retrieved_features,group,sum)



return str1
  
'ptf_overall1.filter(ptf_overall1.measurement_group == \'test\').selectExpr(\'*\',\'case when email_14days > 0 then 1 else 0 end as journey_email_been_sent_flag\',\'case when opened_14days > 0 then 1 else 0 end as journey_opened_flag\').groupBy("country").sum("email_14days")'
预期产出应为

"ptf_overall1.filter(ptf_overall1.measurement_group == 'test').selectExpr('*','case when email_14days > 0 then 1 else 0 end as journey_email_been_sent_flag','case when opened_14days > 0 then 1 else 0 end as journey_opened_flag').groupBy("country").sum("email_14days")"

我试着使用replace、re和translate。但是没有得到预期的输出。

我找到的解决方法如下。然而,对我来说,这看起来很傻。这里有谁能提出更好的解决方案吗

query = print("{0}{1}.selectExpr('*',{2}){3}{4}".format(df,filter_feature,retrieved_features,group,sum))
  return  query

ptf_overall1.filter(ptf_overall1.measurement_group == 'test').selectExpr('*','case when email_14days > 0 then 1 else 0 end as journey_email_been_sent_flag','case when opened_14days > 0 then 1 else 0 end as journey_opened_flag').groupBy("country").sum("email_14days")

输出没有问题。在第一个示例代码中,您
打印
字符串;在第二个示例中,只需检查名为
str1
的字符串的表示形式。但它是相同的字符串值。如果你想创建一个既有
又有
的字符串,那么你必须键入类似
示例='\'”
的内容。试着运行
打印(“不是”)
重复这是否回答了你的问题?嗨,我没有看完所有的答案。但是你是对的,如果我打印字符串,我会得到正确的结果。但是,我在生成此字符串的函数中使用return。有没有办法在打印时返回字符串