正则之replace的三个小示例

本文详细介绍了JavaScript中将小写字母转换为大写字母的实现方式,并通过实例展示了如何进行字符串中特定位置的替换及计算替换次数,涵盖了基础语法和实际应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



将小写转化成大写

 <script>
     var str="356";
     var a=["零","壹","贰","叁","肆","伍","陆","柒","捌","玖"];
     var result=str.replace(/\d/g,function(str,i){
     return ""+a[str];  
                                                                   })
  alert(result); 
    </script>

       结果:叁伍陆


将对应位置替换该替换的东西

 <script>
        var str="My name is{0}.I am{1} years old.I am in class{2} grade{3}.";
        var a=["红红",18,4,6];
        var result=str.replace(/{(\d)}/g,function(str,i){
            return " "+a[i]; 
                                                                           })
        alert(result)
    </script>

      结果:My name is  红红.I am 18 years old.I am in class 4 grade 6.

求a替换的总次数

  <script>
        var str="abcda98apaaa9a";
       var i=0;
       var result=str.replace(/a/g,function(s){
          ++i;
          return s;
   
                                                                })
   alert(i);
    </script>

      结果:7

### 使用 Python 正则表达式进行替换操作 `re.sub()` 函数用于将匹配到的模式替换成指定字符串。此函数接受四个参数:正则表达式的模式、要替换成的内容、待处理的原始字符串以及可选的最大替换次数。 #### 基本语法 ```python import re result = re.sub(pattern, repl, string, count=0) ``` - `pattern`: 要被查找并替换掉的子串或模式。 - `repl`: 替代原匹配项的新字符串;可以是一个普通的字符串,也可以是带有反向引用的特殊字符序列。 - `string`: 需要做替换的目标字符串。 - `count`(可选): 表示最多执行多少次替换,默认为全部替换[^1]。 #### 示例一:简单替换 当只需要做简单的全文替换时,可以直接传入两个字符串作为前两个参数: ```python text = "hello world" new_text = re.sub(r"world", "Python", text) print(new_text) # 输出:"hello Python" ``` #### 示例二:带计数器的替换 通过设置第四个参数来控制最大替换数量: ```python text = "one plus one equals two" limited_replace = re.sub(r"one", "two", text, count=1) print(limited_replace) # 输出:"two plus one equals two" ``` #### 示例三:使用回调函数动态生成替换值 还可以传递一个函数给第二个参数,在每次找到匹配的时候调用该函数来自动生成新的内容: ```python def replace_with_upper(match_obj): return match_obj.group(0).upper() text = "this is a test sentence." dynamic_replace = re.sub(r"[a-z]+", replace_with_upper, text) print(dynamic_replace) # 输出:"THIS IS A TEST SENTENCE." ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值