js 查出字符串所有数字 并 返回
时间: 2023-05-26 12:01:50 浏览: 47
一个包含这些数字的数组。
可以使用正则表达式和字符串的 `match()` 方法来实现:
```js
function findNumbers(str) {
let numbers = str.match(/\d+/g); // 使用正则表达式匹配数字
return numbers ? numbers.map(Number) : []; // 将字符串数组转换为数字数组
}
```
然后可以这样使用:
```js
let str = 'The price is $19.99 and the quantity is 30.';
let numbers = findNumbers(str);
console.log(numbers); // [19.99, 30]
```
相关问题
js 正则匹配字符串中的数字 并返回
可以使用正则表达式 `\d+` 来匹配字符串中的数字。具体实现可以使用 JavaScript 中的 match() 方法,如下所示:
```javascript
let str = "abc 123 def 456 ghi";
let matches = str.match(/\d+/g);
console.log(matches); // ["123", "456"]
```
上述代码中,`\d+` 表示匹配一个或多个数字,`g` 表示全局匹配。match() 方法返回匹配结果的数组。可以通过遍历数组来获取每个数字。
js 查找字符串数字 并 修改
要在 JavaScript 中查找一个字符串中的数字并修改它,可以使用正则表达式和 replace() 方法。
示例代码:
```javascript
var str = "hello 123 world 456";
var regex = /\d+/g; // 匹配一个或多个数字
var match = str.match(regex); // 找到所有数字
if (match) {
for (var i = 0; i < match.length; i++) {
var num = parseInt(match[i]); // 将字符串数字转换为数字类型
var newNum = num * 2; // 修改数字
str = str.replace(match[i], newNum); // 替换原字符串中的数字
}
}
console.log(str); // 输出 hello 246 world 912
```
解释:
1. 定义一个字符串变量 `str`,包含一些文本和数字。
2. 定义一个正则表达式 `regex`,用于匹配一个或多个数字。
3. 使用 `match()` 方法将字符串中所有匹配正则表达式的数字存储在一个数组 `match` 中。
4. 检查 `match` 数组是否存在。
5. 使用 `for` 循环遍历 `match` 数组中的每个字符串数字。
6. 使用 `parseInt()` 方法将字符串数字转换为数字类型,并将其存储在一个变量 `num` 中。
7. 对数字进行修改(本例中是乘以2),并将结果存储在一个变量 `newNum` 中。
8. 使用 `replace()` 方法替换原字符串中的字符串数字,将其替换为修改后的数字。
9. 最后输出修改后的字符串。