【问题标题】:I want to add double quotes to a string, but it won't work. Help! (Python)我想在字符串中添加双引号,但它不起作用。帮助! (Python)
【发布时间】:2021-08-22 02:56:01
【问题描述】:

如果有这样的字符串:

A = "I" "have" "2" "phones."

Python 会自动将这些字符串连接成一个,如下所示: 答:'Ihave2phones.' 但是,我目前正在尝试将此字符串拆分为 4 个部分,其中 A 作为输入,'" "' 作为分隔符。 ['I', 'have', '2', 'phones.'] 是我正在寻找的结果。 我试图在 A 周围加上引号, "'" + A + "'" 但由于 Python 已经将 A 作为“Ihave2phones”,所以它根本行不通。 是否有任何解决方案可以将 A 修改为 '"I" "have" "2" "phones."' 或将其分成 4 部分的不同方法? 谢谢!

【问题讨论】:

  • 赋值A = "I" "have" "2" "phones."A = "Ihave2phones."相同,一旦赋值就无法修改。那么问题是你为什么要做这样的任务,而不是说,A = ["I", "have", "2", "phones."]
  • 修复上游定义字符串为A = "I" "have" "2" "phones."的问题。
  • Python 使用'"'''""" 作为引号,以便您可以根据字符串文字中的引号在它们之间切换。
  • 将其修改为 A = ' "I" "have" "2" "phones"。 ',然后就可以轻松拆分了。
  • 您肯定需要更好地描述您的问题。尤其是为什么你不能只解决任务来做正确的事情。

标签: python string split


【解决方案1】:

只需添加引号:

A = '"I" "have" "2" "phones."'

然后你可以像这样拆分它:

print([i for i in A.split('"') if i.strip()])

输出:

['I', 'have', '2', 'phones.']

但实际上,如果你可以在代码中添加字符,那就写吧;

A = ['I', 'have', '2', 'phones.']

【讨论】:

  • @KellyBundy - 但这不是 OP 所要求的。这很好地回答了这个问题。我完全不明白为什么我们需要提及这份名单。
  • @tdelaney 当然,它也运行良好。我不清楚 OP 在问什么,他们的问题毫无意义,所以我发现添加我的角色和其他人一样合理。
  • @KellyBundy - 我也不确定,但这只是一个虚构的例子。也许 OP 有一个带有这样的 qoutes 的外部文本文件,并且正在尝试如何处理它们。第一步是将引用的字符串复制为 python 文字。
  • @tdelaney 是的,这看起来很奇怪,但可能 :-)
  • @tdelaney 嗯...经过仔细检查,我只是注意到 OP 在他们的问题中确实已经写了'"I" "have" "2" "phones."'。字面上地。只是没有样式化为代码。但是像这样的单引号和双引号。所以如果这就是他们想要的,我一定想知道他们为什么要这样做。
【解决方案2】:

使用\" 将双引号字符放在带双引号的字符串中。

例如:"Hello \"World\""。这将被视为Hello "World"

【讨论】:

    【解决方案3】:

    '" "' 作为分隔符。

    引号不是变量值的一部分。它们只是用于定义变量的语法的一部分。一旦分配完成,Python 就没有它们存在的记忆。这就像询问如果x 被定义为1+3[2,2],如果它被定义为2+2,你可以对x 应用什么函数来获得[1,3]。这不是变量的一部分,所以没有操作可以恢复它。它是一种编程语言,而不是键盘记录器。

    【讨论】:

      猜你喜欢
      • 2012-11-17
      • 2016-02-08
      • 2020-10-30
      • 1970-01-01
      • 2013-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-07
      相关资源
      最近更新 更多