输入一个字符串,只保留字符串中的数字
时间: 2023-05-31 08:20:05 浏览: 832
C语言程序设计-输入一个字符串,过滤此串,只保留串中的字母字符,并统计新生成串中包含的字母个数;
5星 · 资源好评率100%
### 回答1:
可以使用正则表达式来实现。
Python 代码如下:
```
import re
string = "Hello! I am 123 years old. How old are you?"
result = re.sub("[^0-9]", "", string)
print(result)
```
输出:
```
123
```
说明:
- 使用 re.sub() 函数进行替换
- "[^0-9]" 表示非数字字符
- 第二个参数 "" 表示替换为空字符串
如果只需要获取数字,可以使用findall()来获取
```
import re
string = "Hello! I am 123 years old. How old are you?"
result = re.findall(r'\d+',string)
print(result)
```
输出:
```
['123']
```
### 回答2:
实现从字符串中提取数字的方法,需要通过遍历字符串中的每个字符来逐步判断每个字符是否是数字。可以使用 for 循环遍历字符串中的每个字符,然后使用 isdigit() 方法来判断是否是数字。
实现方法可以采用以下步骤:
1. 定义一个空字符串,用于存储提取出来的数字。
2. 使用 for 循环遍历输入的字符串中的每个字符。
3. 对于每个字符,使用 isdigit() 方法判断是否是数字。如果是数字就将其加入到上一步定义的空字符串中。
4. 遍历结束后,返回上一步定义的空字符串中存储的数字。
实现代码如下:
```python
def extract_numbers(input_str):
numbers = ''
for char in input_str:
if char.isdigit():
numbers += char
return numbers
```
这个方法可以处理任意长度的字符串,并从中提取所有数字。例如,对于以下字符串:
```python
input_str = 'abc 123 def 456 ghi 789'
```
使用上述方法,可以提取出字符串中所有数字:
```python
extract_numbers(input_str) # 结果为 '123456789'
```
如果输入字符串中没有数字,这个方法将返回一个空字符串。例如,对于以下字符串:
```python
input_str = 'abcdefghi'
```
使用上述方法,返回的字符串将是一个空字符串 ''。
### 回答3:
要输入一个字符串并只保留其中的数字,一种简单的方法是利用正则表达式来实现。正则表达式是一种描述字符模式的工具,可以用来匹配字符串中的特定字符或字符组合。
具体实现过程:
1. 定义一个正则表达式,用以匹配字符串中的数字。在本例中,使用\d表示数字。
2. 输入需要处理的字符串。
3. 利用正则表达式的match()函数,匹配字符串中的数字,返回一个匹配结果的数组。
4. 将数组中的数字拼接成一个字符串,输出该字符串。
代码如下:
```
let input = "abc123def456gh";
let reg = /\d+/g;
let res = input.match(reg);
let str = res.join("");
console.log(str);
```
其中,\d+表示匹配一个或多个数字,加号表示重复出现一次或多次;g表示全局匹配模式,即匹配所有符合条件的数字。
执行结果为:123456。这样就只保留了字符串中的数字。
阅读全文