【问题标题】:How to remove brackets from python string?如何从python字符串中删除括号?
【发布时间】:2015-06-10 03:02:29
【问题描述】:

从标题中我知道你可能认为这是重复的,但事实并非如此。

for id,row in enumerate(rows):
    columns = row.findall("td")

    teamName = columns[0].find("a").text, # Lag
    playedGames = columns[1].text, # S
    wins = columns[2].text,
    draw = columns[3].text,
    lost = columns[4].text,
    dif = columns[6].text, # GM-IM
    points = columns[7].text, # P - last column

    dict[divisionName].update({id :{"teamName":teamName, "playedGames":playedGames, "wins":wins, "draw":draw, "lost":lost, "dif":dif, "points":points }})

这就是我的 Python 代码的样子。大部分代码已被删除,但基本上我是从网站中提取一些信息。我将信息保存为字典。当我打印字典时,每个值都有一个括号 ["blbal"],这会导致我的 Iphone 应用程序出现问题。我知道我可以将变量转换为字符串,但我想知道是否有办法将信息直接作为字符串获取。

【问题讨论】:

    标签: python python-2.7 xpath lxml


    【解决方案1】:

    看起来你的列表中有一个字符串:

    ["blbal"] 
    

    要获取字符串,只需索引l = ["blbal"] print(l[0]) -> "blbal"

    如果是字符串,则使用 str.strip '["blbal"]'.strip("[]") 或切片 '["blbal"]'[1:-1](如果它们始终存在)。

    【讨论】:

    • 你的意思可能是 '"[blbal]".strip...'
    • @frnhr,OP 的代码似乎在内部字符串周围有引号,不完全确定它到底是什么,但我添加了单引号,以便 OP 可以将其用作示例。
    • 使用 string = string[0] 有效,但这意味着我需要添加 7 行,就像我不喜欢的那样。作为我最初的问题,如果有一种方法可以在第一阶段以该格式获取它,则此阶段的含义是 wins = collumns[2].text,
    • 如果你想要一个字符串中的所有内容使用" ".join(your_list)
    • @hamzah 这意味着列表中的每个子元素将由一个空字符串分隔 ",".join(your_list) 将用逗号等分隔每个子元素。
    【解决方案2】:

    您也可以replace 将不需要的文本/符号替换为空字符串。

    text = ["blbal","test"]
    strippedText = str(text).replace('[','').replace(']','').replace('\'','').replace('\"','')
    print(strippedText)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-16
      • 1970-01-01
      • 2018-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-29
      相关资源
      最近更新 更多