python中如何提取字符串"123(456)"中的123
时间: 2024-05-02 10:16:24 浏览: 46
可以使用正则表达式提取:
```python
import re
text = "123(456)"
match = re.search(r"(\d+)\(", text)
if match:
num = match.group(1)
print(num) # 输出 123
else:
print("未匹配到数字")
```
正则表达式 `(\d+)\(` 匹配一个或多个数字加上一个左括号,`\d+` 匹配一个或多个数字,`()` 表示分组,`match.group(1)` 返回第一个分组的内容,即数字。
相关问题
python如何提取字符串中的数字?
在Python中,可以使用内置函数和正则表达式库`re`来提取字符串中的数字。以下是几种常见的方法:
1. **简单匹配** 如果字符串中只包含整数,你可以使用`isdigit()`函数:
```python
def extract_numbers(s):
return ''.join([i for i in s if i.isdigit()])
s = "abc123def456"
print(extract_numbers(s)) # 输出: 123456
```
2. **正则表达式** 更复杂的情况下,可以使用`re.findall()`或`re.search()`函数配合`\d+`模式来匹配连续的数字:
```python
import re
def extract_numbers_regex(s):
pattern = r'\d+' # 匹配一串数字
return [int(num) for num in re.findall(pattern, s)]
s = "my phone number is 1234567890"
print(extract_numbers_regex(s)) # 输出: [1234567890]
```
这里假设输入的字符串中的数字都是可转换为整型的。
python提取字符串中数字
可以使用正则表达式来提取字符串中的数字。
下面是一个示例代码:
```python
import re
text = "Hello 123 world 456"
numbers = re.findall(r'\d+', text)
print(numbers)
```
输出结果为:
```
['123', '456']
```
这里使用了 `re.findall` 方法来查找字符串中的数字,正则表达式 `\d+` 表示匹配一个或多个数字。
阅读全文