gpt4 book ai didi

python - 我如何从 python 中的字符串中读取定义的值,就像我在 C 中使用 scanf 所做的那样

转载 作者:行者123 更新时间:2023-11-30 19:25:26 24 4
gpt4 key购买 nike

我有一个字符串,其格式如下 str="R%dC%d"例如 Str=R150C123 我想将数值保存在变量中,例如在 C 语言中,如下所示:

int c,r;
sscanf(Str,"R%dC%d",&r,&c);

在Python中我这样做

c = int(str[str.find("C") + 1:])
r = int(str[:str.find("C")])

是否还有其他方法可以在 python 中执行此操作,类似于我在 C 中执行此操作的方式?

因为我在 python 中的方法需要花费很多时间来执行。

另一种字符串格式的另一个示例是:Str="%[A-Z]%d",例如 Str= ABCD1293

我想保存2个值,第一个是数组或字符串,第二个是数字

在 C 中我这样做:

int r;
char CC[2000];
sscanf(s,"%[A-Z]%d",CC,&r)

在Python中像这样:

        for j in x:
if j.isdigit():
r = x[x.find(j):]
CC= x[:x.find(j)]
break

我不认为这是用 python 解决此类任务的优雅方法。你能帮我吗?

最佳答案

正如 Seb 所说,正则表达式!

import re

regex = r"R(\d+)C(\d+)"

test_str = "R150C123"

match_res = re.fullmatch(regex, test_str)

num_1, num_2 = match_res.groups()
num_1 = int(num_1)
num_2 = int(num_2)

关于python - 我如何从 python 中的字符串中读取定义的值,就像我在 C 中使用 scanf 所做的那样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58828836/

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