【问题标题】:Need a fuction to remove specific caracters from a string,需要一个函数来从字符串中删除特定字符,
【发布时间】:2020-03-17 17:36:05
【问题描述】:

我需要帮助来完成一个功能,例如:

你有一个叫做 x 的字符串

x = "[(2,3), {4,5}, [6,7], np.array([(2+3)*5])"

我想要的是从字符串中删除所有不是以下字符的字符:"(" ")" "[" "]" "{" "}"

所以在这个具体的例子中,理想的输出是:x = "[(){}[]([)]"

【问题讨论】:

  • 你试过什么?请附上您的代码。
  • 感谢您的帮助,但我现在有答案了!

标签: python string list dictionary tuples


【解决方案1】:

只需使用set(为了提高速度)过滤您想要保留的字符,然后使用str.join 从字符列表中重建字符串。

s = "[(2,3), {4,5}, [6,7], np.array([(2+3)*5])"

allowed = set("{}[]()")

new_s = "".join([x for x in s if x in allowed])

结果:

>>> new_s
'[(){}[]([()])'

【讨论】:

  • 我不明白 ("".join) 做了什么 :( 它是否创建了一个字符串,其中包含由集合过滤的另一个字符串的元素("{}[]()" )? 非常感谢您的解释!!!!!!!!!
  • 如果它适合你,你可以考虑接受答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-24
相关资源
最近更新 更多