JavaScript 正则表达式:字符串中查找数字

上午师傅给我留了任务,让想想怎样用正则表达式,在字符串中找到数字,并替换数字。以下代码是在一段字符串中,用正则表达式找到数字,使用 replace() 方法,用找到的数字的两倍值替换原数字。replace() 方法的第二个参数为一个函数,返回找到数字的两倍值。

<script>
    var str="去年是2014年,今年是2015年";
    var newStr=str.replace(/\d+/g, function () {
        //调用方法时内部会产生 this 和 arguments
        console.log(arguments[0]);
        //查找数字后,可以对数字进行其他操作
        return arguments[0] * 2;
    });
    console.log(newStr);

</script>

正则表达式  /\d+/g: 匹配至少一个数字。

调用函数时内部会生成 arguments,console.log(arguments); 的结果:

需要取得的是数字 2014 和 2015,所以只要取得 arguments[0] 即可。

console.log(arguments[0]); 的结果:

最终结果得到:" 去年是4028年,今年是4030年 "

查找数字后,也可以对数字进行其他操作

时间: 2024-10-11 17:16:10

JavaScript 正则表达式:字符串中查找数字的相关文章

C# 使用正则表达式去掉字符串中的数字

C# 使用正则表达式去掉字符串中的数字 // 去掉字符串中的数字public static string RemoveNumber(string key){    return System.Text.RegularExpressions.Regex.Replace(key, @"\d", "");} // 去掉字符串中的非数字public static string RemoveNotNumber(string key){    return System.Tex

40 python 正则表达式 match方法匹配字符串 使用search函数在一个字符串中查找子字

第一课: 使用match方法匹配字符串 # 正则表达式:使用match方法匹配字符串 ''' 正则表达式:是用来处理文本的,将一组类似的字符串进行抽象,形成的文本模式字符串 windows dir *.txt file1.txt file2.txt abc.txt test.doc a-file1.txt-b linux/mac ls 主要是学会正则表达式的5方面的方法 1. match:检测字符串是否匹配正则表达式 2. search:在一个长的字符串中搜索匹配正则表达式的子字符串 3. fi

C# 使用正则表达式去掉字符串中的数字,或者去掉字符串中的非数字

/// 去掉字符串中的数字 public static string RemoveNumber(string key)          {              return Regex.Replace(key, @"\d", "");          } //去掉字符串中的非数字public static string RemoveNotNumber(string key)  {      return Regex.Replace(key, @"

Java 用正则表达式 截取字符串中的数字

package com.benywave; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test { public static void main(String[] args) { String str = "急救电话 112"; Pattern pattern = Pattern.compile("[0-9]{1,}"); Matcher matcher

用正则表达式截取字符串中的数字

用截取字符串中的数字,代码如下: double d = 0; string str = "hello8023.1314world"; //要截取的字符串 Match m = Regex.Match(str, "\\d+(\\.\\d+){0,1}"); double.TryParse(m.Groups[0].ToString(), out d); Console.WriteLine(d); Console.ReadKey(); 运行截图如下:

java 判断一个字符串中的数字:是否为数字、是否包含数字、截取数字

题外话: JavaScript中判断一个字符是否为数字,用函数:isDigit(); 一.判断一个字符串是否都为数字 package com.cmc.util; import java.util.regex.Matcher; import java.util.regex.Pattern; public class DigitUtil { public static void main(String[] args) { String str="123d"; System.out.prin

JavaScript替换字符串中最后一个字符

1.问题背景 在一个输入框中,限制字符串长度为12位.利用键盘输入一个数字,会将字符串中最后一位替换,比方:111111111111.再输入一个3,会显示111111111113 2.详细实现 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html x

Python3中字符串中的数字提取方法

逛到一个有意思的博客http://cuiqingcai.com/category/technique/python 在里面看到一篇关于ValueError: invalid literal for int() with base 10错误的解析,针对这个错误,博主已经给出解决办法,使用的是re.sub 方法 1 totalCount = '100abc' 2 totalCount = re.sub("\D", "", totalCount) 但是没有说明什么含义,于

Oracle字符串中包含数字、特殊符号的排序

问题描述: 某小区,需要按照小区.楼栋.单元号.房间号进行排序,但是按照地址描述排序时,因为字符串中包含数字,所以造成了如下的结果, 1号楼之后应该是2号楼,但是查询结果却是10号楼 . 尝试解决 使用正则表达式替换 结果: 虽然楼栋号排序正常了,但是会发现房间号排序出现了混乱.  继续想办法 终极办法: 使用translate函数 可以发现,结果正常显示 . 以下附上translate使用方法 一.语法: TRANSLATE(string,from_str,to_str) 二.目的 返回将(所