admin 管理员组

文章数量: 887021


2024年2月20日发(作者:好看的文本框)

js 从字符中提取数字的方法

# JavaScript 中从字符串中提取数字的方法

在JavaScript编程中,从字符串中提取数字是一个常见的需求。以下是一些有效的方法来从字符串中提取数字。

## 使用正则表达式

### `match()` 方法

使用正则表达式中的`match()`方法可以提取字符串中的所有数字。

```javascript

let str = "The cost is 123.45 dollars";

let numbers = (/d+/g); // 提取整数部分

(numbers); // 输出: ["123"]

```

如果你需要提取所有数字,包括小数点后的数字,可以这样做:

```javascript

let str = "The cost is 123.45 dollars";

let numbers = (/-?d+(.d+)?/g); // 可选的负号,数字和小数点

(numbers); // 输出: ["123.45"]

```

### `replace()` 方法

如果你只想替换掉非数字字符,也可以使用`replace()`方法。

```javascript

let str = "The cost is 123.45 dollars";

let numbersOnly = e(/[^0-9.]/g, "");

(numbersOnly); // 输出: "123.45"

```

注意上面的例子保留了小数点。

## 使用JavaScript的Number方法

### `parseInt()` 和 `parseFloat()`

这两个函数可以用来提取整数和小数。

```javascript

let str = "The cost is 123.45 dollars";

let integerPart = parseInt(str);

let floatPart = parseFloat(str);

(integerPart); // 输出: 123

(floatPart); // 输出: 123.45

```

注意,这些函数会返回`NaN`(Not-a-Number)如果字符串不包含可解析的数字。

## 使用Array方法

如果你想要提取字符串中的每一个数字字符,也可以使用数组方法。

```javascript

let str = "The cost is 123.45 dollars";

let numbersArray = ("").filter(char => (/d/));

(numbersArray); // 输出: ["1", "2", "3", "4", "5"]

```

但是,这种方法不会保留原始数字的格式。

## 总结

从字符串中提取数字的方法有很多,最佳选择取决于你的具体需求。正则表达式是处理此类问题最灵活的方法之一,但是也可以根据具体情况选择其他方法。


本文标签: 数字 提取 方法 字符串 保留