sscanf函数用法详解
时间: 2023-08-03 20:57:22 浏览: 83
sscanf函数是C语言中的一个函数,用于从字符串中读取格式化的数据。在Python中,没有直接对应的函数,但可以使用正则表达式或者字符串分割等方法来实现类似的功能。
例如,假设有一个字符串s,格式为"姓名:年龄:性别",可以使用字符串分割的方法来获取其中的数据:
```
s = "张三:20:男"
name, age, gender = s.split(":")
```
这样就可以得到name为"张三",age为20,gender为"男"的三个变量。
另外,如果需要更复杂的格式化操作,可以使用Python的re模块来实现正则表达式匹配。例如,假设有一个字符串s,格式为"姓名:年龄:性别:身高",可以使用如下代码来获取其中的数据:
```
import re
s = "张三:20:男:175cm"
match = re.match(r"(.+?):(\d+):(.+?):(\d+)", s)
if match:
name = match.group(1)
age = int(match.group(2))
gender = match.group(3)
height = int(match.group(4))
```
这样就可以得到name为"张三",age为20,gender为"男",height为175的四个变量。
相关问题
sscanf函数用法详解c++
sscanf函数是C语言中的一个函数,用于从字符串中按照指定的格式读取数据。在C++中也可以使用sscanf函数,但更常用的是使用C++标准库中的stringstream类来进行字符串解析。
sscanf函数的原型如下:
```c
int sscanf(const char* str, const char* format, ...);
```
其中,str是要解析的字符串,format是格式化字符串,用于指定解析的规则,...是可变参数,用于接收解析结果。
下面是sscanf函数的一些常见用法:
1. 解析整数:
```c
int num;
char str[] = "123";
sscanf(str, "%d", &num);
```
解析结果为:num = 123。
2. 解析浮点数:
```c
float f;
char str[] = "3.14";
sscanf(str, "%f", &f);
```
解析结果为:f = 3.14。
3. 解析字符串:
```c
char str[10];
char input[] = "Hello World";sscanf(input, "%s", str);
```
解析结果为:str = "Hello"。
4. 解析多个值:
```c
int a, b, c;
char str[] = "1 2 3";
sscanf(str, "%d %d %d", &a, &b, &c);
```
解析结果为:a = 1, b =
sscanf函数用法详解python
sscanf函数是C语言中的一个函数,用于从字符串中读取格式化的数据。在Python中,没有直接对应的函数,但可以使用正则表达式或者字符串分割等方法来实现类似的功能。
例如,假设有一个字符串s,格式为"姓名:年龄:性别",可以使用字符串分割的方法来获取其中的数据:
```
s = "张三:20:男"
name, age, gender = s.split(":")
```
这样就可以得到name为"张三",age为20,gender为"男"的三个变量。
另外,如果需要更复杂的格式化操作,可以使用Python的re模块来实现正则表达式匹配。例如,假设有一个字符串s,格式为"姓名:年龄:性别:身高",可以使用如下代码来获取其中的数据:
```
import re
s = "张三:20:男:175cm"
match = re.match(r"(.+?):(\d+):(.+?):(\d+)", s)
if match:
name = match.group(1)
age = int(match.group(2))
gender = match.group(3)
height = int(match.group(4))
```
这样就可以得到name为"张三",age为20,gender为"男",height为175的四个变量。
阅读全文