将字符串拆分为多个变量
我有一个以下形式的字符串:
"425x344"
现在我想将此字符串中的第一个和第二个数字解析为两个单独的变量。我该怎么做?我创建了这个正则表达式:
regex = re.compile(r"^(\d+x\d+)")
来检查字符串形式是否正确。但接下来怎么办?
I have a string in the following form :
"425x344"
Now I'd like to resolve first and second numbers from this string as two separate variables. How can I do this ? I've created this regex:
regex = re.compile(r"^(\d+x\d+)")
to check if the string form is proper. But what next ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
a, b = '425x344'.split('x')
a, b = '425x344'.split('x')
由于您正在使用正则表达式对其进行过滤,因此您可以执行以下操作
:如果您打算进行乘法,则可以在一行中完成:
或者
通过导入和一行,可以通过以下方式完成
您必须对它们进行分析看看哪个更快。
Since you're filtering it with a regex, you can just do
If you're planning on multiplying, it can be done in one line:
or
With an import and one line, this can be done with
You'll have to profile them to see which is faster.
改为:
然后使用 regex.match(my_string) 取出 MatchObject,然后可以使用 match.group(1) 和 match.group(2) 取出变量。
Change it to:
Then use regex.match(my_string) to get the MatchObject out, and you can use match.group(1) and match.group(2) to get the variables out.
您可能指的是“值”或“文字”。 425 通常不是变量的有效名称,变量往往具有符号名称。
如果您更改正则表达式以单独捕获数字:
然后您可以使用如下代码:
来计算结果。
You probably mean "values", or "literals". 425 is not typically a valid name for a variable, which tend to have symbolic names.
If you change your regular expression to capture the numbers separately:
you can then use code like this:
to compute the result.
如果您想使用 re 进行此操作,http://effbot.org/zone/xml-scanner .htm 可能值得一读。它展示了如何使用 re 正确分割 expr 中的每个参数
If you are wanting to do it with re, http://effbot.org/zone/xml-scanner.htm might be worth a read. It shows how to properly split each argument in a expr with re