1 个不稳定版本
0.1.0 | 2022年9月1日 |
---|
#91 在 #scan
13KB
161 行
numscan
用于从字符串中提取数字的实验性实用工具。需要nightly版本。
lib.rs
:
numscan
用于在文本中查找数字的库。
- 数字必须包含数字。
- 数字可能以负号(-)开头。
- 数字可能包含数字、点和逗号。
- 数字以第一个非数字字符结束或第二个点,而不是逗号或点。
- 该库仅查找ASCII数字(与阿拉伯数字等相对比)
- 逗号分隔符可以使用,它们大多被忽略。
示例
use numscan::NumberScanner;
let input = "1.9 - (-1.7) + 1,000 is 1,000.2.";
let output = NumberScanner::from(input).collect::<Vec<_>>();
assert_eq!(
output,
[
0..3, // "1.9"
7..11, // "-1.7"
15..20, // "1,000"
24..31, // "1,000.2"
]
);
提示:解析
该库返回范围,您可以使用它们对数字进行索引。在您可能希望将它们解析为数字的常见场景中,请记住
- 如果您对精度有要求,您可能需要使用十进制库。
- 字符串可能包含逗号,您的数字类型解析函数可能不接受,因此您可能需要在尝试解析之前删除它们。
依赖项
~29KB