gpt4 book ai didi

python - 如何根据周围字符打印字符

转载 作者:太空宇宙 更新时间:2023-11-04 08:08:18 27 4
gpt4 key购买 nike

一个包含数千个字符的字符串,我如何只打印被“-”包围的字符

例如,如果有一个包含这些字符的字符串,

438429834njnbjjj"28.30"98nj76789889jkljlkjllmm82

如何打印

28.30

我知道 Regex,但不知道它是否可以像这样使用。抱歉,我是 Python 新手。

最佳答案

是的,您可以为此使用正则表达式:

import re

my_string = '438429834njnbjjj"28.30"98nj76789889jkljlkjllmm82'

matches = re.findall(r'".*?"', my_string)

工作原理:

它调用 re.findall 方法,该方法接受一个正则表达式和一个字符串,并返回该表达式的所有匹配项。

表达式本身很简单,解释如下:

"    # matches a quote
. # matches any character
* # matches previous rule zero or more times
? # tells the previous rule to match as little as possible
" # matches a quote again

然后您可能会问“为什么我们需要这里的?”:没有它,包含多个可能匹配项的字符串将只返回一个匹配项。示例:my_string = 'hi "important"asdf "also important"not important' 将匹配整个字符串中的第一个和最后一个引号,从而匹配所有 "important"asdf"also important ".

在你得到这个匹配列表后,你可以使用列表理解来删除数据周围的引号,如果你愿意,甚至可以将它转换为数字:

# removes first and last character of every match
unquoted = [string[1:-1] for string in matches]

# removes first and last characters and converts match to number
numbers = [float(string[1:-1]) for string in matches]

关于python - 如何根据周围字符打印字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27572793/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com