JS 正则获取字符串中间数值
时间: 2023-09-03 17:07:35 浏览: 89
你可以使用正则表达式中的捕获组来获取字符串中间的数值。例如,假设你要从字符串 "这是一个包含数字 123 的字符串" 中获取中间的数字,可以使用以下代码:
```javascript
const str = "这是一个包含数字 123 的字符串";
const regExp = /包含数字 (\d+) 的/;
const match = regExp.exec(str);
if (match) {
const number = parseInt(match[1]);
console.log(number); // 输出 123
}
```
在上面的代码中,正则表达式 `/包含数字 (\d+) 的/` 匹配以 "包含数字 " 开头,以 " 的" 结尾的字符串,并将括号中的 `\d+`(表示一个或多个数字)作为捕获组,以便后面使用 `match[1]` 来获取其中的内容。最后使用 `parseInt` 函数将捕获的字符串转换为数字。
相关问题
用正则清除字符串中NaN并保留两位小数js代码
在JavaScript中,你可以使用正则表达式配合`replace()`函数来清除字符串中的"NaN"值,并保留两位小数。这里是一个简单的例子:
```javascript
function cleanNaNAndKeepTwoDecimalPlaces(str) {
// 正则表达式匹配NaN
const regex = /NaN/g;
// 使用正则替换NaN为''
const cleanedStr = str.replace(regex, '');
// 如果原字符串中有数字并且有小数点,再用 parseFloat 和 Number.toFixed 保留两位小数
return Number.isNaN(cleanedStr) ? cleanedStr : parseFloat(cleanedStr).toFixed(2);
}
// 测试
const input = "这是一个包含NaN的字符串,比如 1.23 NaN 456.7890";
console.log(cleanNaNAndKeepTwoDecimalPlaces(input)); // 输出:1.23 456.79
```
这个函数首先会移除所有"NaN",然后检查剩余的部分是否可以转换为数字。如果可以,它将使用`parseFloat()`获取数值,并通过`.toFixed(2)`保留两位小数。
js用正则获取纯数字包括负数代码
在JavaScript中,你可以使用正则表达式来匹配纯数字,包括负数。下面是一个简单的例子,展示了如何创建一个匹配整数和浮点数的正则表达式:
```javascript
function getNumericValue(str) {
const regex = /^[-+]?\d+(\.\d+)?$/
return regex.test(str) ? parseFloat(str) : null;
}
// 使用示例
console.log(getNumericValue("-123")); // 输出 -123
console.log(getNumericValue("0")); // 输出 0
console.log(getNumericValue("123.45")); // 输出 123.45
console.log(getNumericValue("abc")); // 输出 null (因为不是纯数字)
```
这个函数`getNumericValue`接受一个字符串作为输入,如果字符串只包含数字(可以有正负号),它将返回该数值;如果不是纯数字,则返回`null`。
阅读全文