`
china34420
  • 浏览: 137485 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

String类的replace()方法的函数参数的理解

阅读更多
(来自帮助文档)
replace(pattern:*, repl:Object):String
对字符串匹配指定模式并返回一个新字符串,其中的第一个模式匹配项被替换为 repl 所指定的内容。
相对于字符串匹配指定的 pattern 并返回一个新字符串,其中的第一个 pattern 匹配项被替换为 repl 所指定的内容。 pattern 参数可以是字符串或正则表达式。 repl 参数可以是字符串或函数;如果是函数,将插入由该函数返回的字符串以替换匹配项。 未修改原始字符串。
指定一个函数作为 repl 时,replace() 方法将以下参数传递给该函数:
• 字符串的匹配部分。
• 任何捕获到的括号组匹配项都将作为下一组参数提供。 按这种方式传递的参数数目因括号匹配项的数目而异。 您可以通过检查函数代码中的 arguments.length - 3 来确定括号匹配项的数目。
• 字符串中匹配开始的索引位置。
• 完整的字符串。
例如,请看以下例子一:
var str1:String = "abc12 def34";
 var pattern:RegExp = /([a-z]+)([0-9]+)/;//查找由字母和数字组合而成的字符串
 var str2:String = str1.replace(pattern, replFN);
 trace (str2);   // 12abc 34def
 
 function replFN():String {
  return arguments[2] + arguments[1];
 }
对replace() 方法的调用使用一个函数作为 repl 参数。 匹配两次正则表达式 (/([a-z]([0-9]/g)。
第一次,模式与子字符串 "abc12" 匹配,并将以下参数列表传递给该函数:
{"abc12", "abc", "12", 0, "abc12 def34"}
第二次,模式与子字符串 "def23" 匹配,并将以下参数列表传递给该函数:
{"def34", "def", "34", 6, "abc123 def34"}

例子二
var str:String = "Now only $9.95!";
var price:RegExp = /\$([\d,]+.\d+)+/i;//查找美元
trace(str.replace(price, usdToEuro));

function usdToEuro(matchedSubstring:String, 
                                 capturedMatch1:String, 
                                 index:int, 
                                 str:String):String
{
    var usd:String = capturedMatch1;
    usd = usd.replace(",", "");
    var exchangeRate:Number = 0.853690;
    var euro:Number = usd * exchangeRate;
    const euroSymbol:String = String.fromCharCode(8364);
    return euro.toFixed(2) + " " + euroSymbol;
}
//输出:Now only 7.68 €!
分享到:
评论

相关推荐

    Delphi字符串快速替换函数,速度超快 秒杀自带的StringReplace函数

    内置的`StringReplace`函数虽然提供了基本的替换服务,但在处理大量数据或长字符串时,其性能可能不尽人意。针对这种情况,开发人员经常寻找更高效的替代方案,如在本案例中提到的“Q_Replace.pas”文件所包含的快速...

    javascript笔记 String类replace函数的一些事.docx

    ### JavaScript中的`String.prototype.replace`方法详解 #### 一、`replace`方法的基本用法 在JavaScript中,`String.prototype.replace`是一个非常重要的方法,用于替换字符串中的某些部分。其基本语法如下: ``...

    C++ 标准库string replace成员的几个用法

    `replace` 成员函数是 `std::string` 类中一个关键的方法,它允许程序员替换字符串中的子串或字符。本篇文章将详细讲解 `std::string` 的 `replace` 成员函数的几个常见用法。 1. **替换指定长度的子串** ```cpp ...

    c++中string类中的函数

    C++ 中 string 类的函数 C++ 中的 string 类提供了许多有用的函数,可以帮助我们更方便地操作字符串。这些函数可以分为 several categories,包括构造函数、赋值函数、字符串操作函数、大小和容量函数、比较函数、...

    js中string之正则表达式replace方法详解

    replace方法是javascript涉及到正则表达式中较为复杂的一个方法,严格上说应该是string对象的方法。只不过牵扯到正则的时候比较多一些。需要我们灵活的使用。 语法: stringObj.replace(regexp/substr,replacement)...

    JavaScript String.replace函数参数实例说明

    因此,函数参数的确定规则是一致的。 关于替换操作中原文提到的“替换到源自符串中”,实际上是一个表述上的不准确之处。字符串在 JavaScript 中是不可变的,意味着不能直接修改。所以 replace 方法并不是在原有...

    string类的构造方法_String类重要吗_C++_STL_string_

    `std::string`类不仅在日常编程中频繁使用,而且在很多高级功能如正则表达式、文本处理等方面都有重要应用,因此了解其构造方法对于深入理解C++字符串处理至关重要。 首先,让我们来看看`std::string`的几个主要...

    js中字符替换函数String.replace()使用技巧

    `stringObject.replace(regexp/substr, replacement)` 方法接收两个参数: 1. **regexp/substr**:必需,这是一个正则表达式对象或者是要被替换的子字符串。如果给定的是字符串,它会被当作一个精确的文本模式来...

    string类型的全部函数

    在深入探讨`string`类型及其成员函数之前,我们先简要回顾...掌握`string`类的成员函数,可以极大地提高编程效率和代码的可读性。无论是简单的字符串拼接,还是复杂的文本分析,`string`都能提供合适的方法来完成任务。

    char,string全部函数方法说明

    本文将详细介绍`char`和`String`相关的函数方法,帮助新手更好地理解和使用它们。 对于`char`类型,Java提供了一系列静态方法来处理Unicode字符。例如,`charCount(int codePoint)`方法用于计算表示给定Unicode代码...

    string 类及所有的方法(c++)

    C++的string类提供了一系列方便的成员函数,用于处理和操作字符串。 2.1 C++字符串和C字符串的转换 string类可以方便地与C风格的字符数组进行转换。例如,你可以使用.c_str()成员函数将string对象转换为C风格的...

    也说JavaScript中String类的replace函数

    JavaScript中的`String`类提供了许多方法来操作字符串,其中之一就是`replace()`函数。这个方法允许我们在字符串中替换特定的字符或者匹配正则表达式的子串。`replace()`函数的语法如下: ```javascript string...

    string类的各种方法的使用

    根据给定文件的信息,我们可以总结出关于C++中`string`类的各种方法的详细知识点。 ### 1. 字符串长度 在C++中,获取一个`string`对象的长度非常简单,只需要调用成员函数`length()`即可。例如: ```cpp string ...

    String类方法使用例子

    在Java编程语言中,`String` 类是处理字符串的核心类,它包含了大量的方法,使得对字符串的操作变得简单而高效。本篇文章将详细讲解`String`类的一些常用方法,并通过具体的例子来展示它们的用法。 1. **创建String...

    string的常用函数

    本文将深入探讨 `std::string` 类的各种构造方法以及一系列重要的字符串操作函数,并对它们的功能进行详细说明。 #### 二、构造函数与析构函数 `std::string` 类提供了多种构造方法来创建字符串对象: 1. **默认...

    Arduino项目开发 Strings_StringReplace_StringReplace.pdf

    在给定的文件"Strings_StringReplace_StringReplace.pdf"中,主要探讨了如何使用`String`类的`replace()`方法来替换字符串中的字符或子串。下面我们将详细讲解`replace()`函数及其在Arduino编程中的应用。 `String`...

    js中string之正则表达式replace方法详解.docx

    该方法的语法为:`stringObj.replace(regexp/substr, replacement)`,其中第一个参数可以是字符串或正则表达式,第二个参数是新的替换内容,可以是字符串或函数。 replace 方法的返回值是一个新的字符串,并不改变...

    javascript笔记 String类replace函数的一些事

    1. **函数参数**: - `word`: 这是第一个参数,表示当前匹配到的子串。在`myReplaceFtn`函数中,`word`对应于正则表达式`/CJ[0-9]{2}/g`匹配到的"CJ"后面跟着两位数字的部分,如"CJ90"。 - `index`: 第二个参数,...

Global site tag (gtag.js) - Google Analytics