`
leeqq
  • 浏览: 138185 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

js String的几个方法

    博客分类:
  • web
 
阅读更多

1. indexOf方法

    查找子串起始位置

 

var str = 'hsfwefwef';
var k = str.indexOf('wef')
console.log(k)

 结果是3,明显是匹配的首次出现的位置

 

 

var str = 'hsfwefwef';
var k = str.indexOf('wef', 4)
console.log(k)

 此时匹配位置是从下标4位置处开始的,结果是6。 lastIndexOf与此类似,只是查找的是最后出现的位置

 

 

2. serach方法

 

var str = 'hsfwefwef';
var k = str.search(/wef/)
console.log(k)

 同样找的是首次出现的位置3,不过这里用的是正则匹配。

 

 

var str = 'hsfwefwef';
var k = str.search(/Wef/i)
console.log(k)

 忽略大小写,结果为3,但是这个方法忽略全局模式g。也就是说找不到第二个匹配的位置。

 

 

3. match方法

 

var str = 'hsfwefWef';
var k = str.match(/W(e)(f)/i)
console.log(k)

 用指定参数正则和字符串匹配,结果是

 


 结果是个数组,元素1是匹配到的符合正则的字符串,后面依次是$1, $2……($1, $2意义参照正则表达式)

另外还有两个属性,index:字符串的起始位置,input:原始字符串

同样没有匹配到第二个,这时可以用全局模式/g

 

var str = 'hsfwefWef';
var k = str.match(/W(?:e)(f)/ig)
console.log(k)

 结果是
 返回了字符串中符合正则的两个子串。但这是没$1,$2……更没有index,input属性。

 

 

如果获得详细的信息。请使用 RegExp.exec()

 

var str = 'hsfwefWef';
var reg = /W(?:e)(f)/ig;
var k;
while(k = reg.exec(str)){
  console.log(k);
  console.log(reg.lastIndex)
}
console.log(k);
console.log(reg.lastIndex)

 结果是

 


 看到所有的能匹配正则的子串都能找到,这依赖于正则对象的lastIndex属性。当不能匹配的时候返回值得是null, 同正则对象的lastIndex属性也被置为0。lastIndex其实就是用来标识下次匹配的时候从字符串什么位置开始。

 

4. replace方法

 

var str = 'hsfwefWef';
var k = str.replace('wef', 'pod');
console.log(k);

 结果很明显是hsfpodWef。第一个参数用来指定要被替换的字符串,第二个参数是替换文本

 

 

var str = 'hsfwefwef';
var k = str.replace('wef', function(s){
  return s.toUpperCase();
});
console.log(k);

 第二个参数是函数的话,此函数接受3个参数,被替换的字符串,起始位置,原始字符串。函数的返回值作为替换文本。所以结果是 hsfWEFwef

 

  js里面没有java中的replaceAll方法。但可以用正则实现,将replace方法第一个参数写成正则表达式并且是全局模式。

 

var str = 'hsfwefwef';
var k = str.replace(/wef/g, function(s){
  return s.toUpperCase();
});
console.log(k);

 结果是hsfWEFWEF, 正则表达式是全局模式,能被匹配的所有子串,都要作为参数调用函数,用返回值替换。这里函数的参数顺序是

 

   正则匹配到的子串,$1, $2……,子串位置,原始字符串。

 

当第二个参数仅仅是一个字符串时,其中有$有特定的含义。

$1,$2,$3……  不多说

$& 正则匹配的子串

$` 正则匹配的子串左侧文本

$' 正则匹配的子串右侧文本

 

$$ 直接文本量$

 

var str = 'hsfwefwef';
var k = str.replace(/w(e)f/g, '$\'$1$`');
console.log(k);

 结果hsf  wef  e  hsf  e  hsfwef 用空格空开,看得更清楚点。

 

5. substring

抽取子串

var str = 'hsfwefwef';
var k = str.substring(2, 5)
console.log(k);

 结果 fwe, 提取2(包含)~5(不包含)字符

 

如果第二个参数小于第一个参数,抽取前会交换参数也就是说str.substring(2, 5)和str.substring(2, 2)结果一样,省略第二个参数,会抽取起始位置到结束位置的字符

  类似的方法有substr方法,两个参数分别为起始位置和子串长度,同样省略第二个参数会抽取起始位置到末尾的字符

  还有一个方法叫slice同样抽取子串,参数是起始位置和结束位置,没有结束位置则到末尾,不同的是允许参数负数(从末尾开始计数的),同时不允许结束位置在开始位置之前,该方法不会交换参数,所以会返回空字符串

 

 

 
  • 大小: 2.4 KB
  • 大小: 533 Bytes
  • 大小: 4.8 KB
分享到:
评论

相关推荐

    String对象常用的属性的方法

    接下来,我们将重点介绍几个非常实用的方法。 ##### 3.1 `indexOf()` 此方法返回某个指定的字符串值在字符串中首次出现的位置。如果未找到,则返回 -1。 - **语法**:`string.indexOf(searchValue[, fromIndex])`...

    js date转String 日期字符串转换

    在JavaScript中,`Date`对象提供了多种方法来获取和设置日期及时间。本文将详细介绍如何将`Date`对象转换成字符串格式,这对于数据展示、存储以及传输等场景非常有用。 #### 1. 基本概念 在JavaScript中,`Date`...

    javascript object to json string

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集,易于人阅读和编写,同时也易于机器解析和生成。在JavaScript中,我们可以使用`JSON.stringify()`方法将JavaScript对象...

    Javascript里的String原来不能用双引号括起来.jpg

    为了解决这个问题,通常有以下几种方法: 1. **转义字符**:使用反斜杠(`\`)对内部的双引号进行转义。 ```javascript var str = "This is a \"string\" example."; ``` 2. **换用其他类型的引号**:例如,使用...

    jsstring操作.pdf

    接下来文档讲述了几个基本的字符串操作方法。`indexOf(searchString, position)` 方法可以用来查找子字符串在字符串中的位置,如果没有找到则返回 `-1`。该方法还可接受第二个参数,指定开始搜索的起始位置。`...

    Javascript中String的常用方法实例分析

    下面,我们详细解析标题中提到的几个常用方法,并通过实例来加深理解。 首先,`length`属性是字符串对象的一个基本属性,它能够返回字符串中的字符数。例如,如果有一个字符串变量`s`,通过`s.length`可以获得其...

    convert string to integer

    在本篇文章中,我们将深入探讨如何在不同的编程语言中实现`convert string to integer`的功能,以帮助开发者更好地理解和应用这个概念。 首先,让我们以 Ruby 为例,这可能与提供的压缩包文件 `string_to_integer....

    JS简单实现String转Date的方法

    总结一下,JavaScript中将字符串转换为`Date`对象的方法主要有以下几点: 1. 使用`Date.parse()`函数,它会尝试解析符合标准格式的日期字符串。 2. 对不符合标准格式的字符串进行预处理,如将`-`替换为`/`。 3. ...

    android demo,webview_js(webview的js方法调用java方法)。

    总结来说,本示例的"android demo,webview_js"涵盖了以下几个关键知识点: 1. Android WebView的使用和配置,包括开启JavaScript支持。 2. 实现WebViewClient以监听和处理JavaScript调用Java方法的请求。 3. 在...

    JS调用后台带参数的方法

    这里使用了`protected`修饰符,意味着这个方法只能被同一个类或其他继承自该类的子类访问。 #### 前端代码解析 接下来是JavaScript部分的代码: ```javascript function Init() { var v = "й"; var s = '("' + v...

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

    这个方法会查找第一个参数regexp/substr的匹配项,并用replacement字符串替换掉这些匹配项。如果第一个参数是正则表达式并且带有全局标志g,则replace方法将替换所有匹配的子串。如果未带有标志g,则只替换第一个...

    javascript 代码 简单加密的几个方法.docx

    通过对以上几种JS代码加密方法的介绍与分析可以看出,每种方法都有其适用场景及局限性。开发者应根据项目需求和个人偏好选择合适的加密方式,并注意权衡加密带来的安全性和性能之间的关系。值得注意的是,尽管这些...

    C#执行Javascript代码的几种方法总结

    一、开源项目 Javascript .NET ... (缺点就是asp.net web应用上,好象会报错) 示例代码: 代码如下:using Noesis.Javascript; using System;... namespace JsCSharp { class Program { static void Main(string

    Javascript拓展String方法小结

    本文将详细介绍几种常用的自定义 `String` 方法,包括 `EndWith`, `StartWith`, `Trim`, `ltrim`, `rtrim` 和一个格式化函数 `String.format` 以及 JSON 对象转字符串的方法 `Json2string`。 #### 二、`EndWith` ...

    Javascript string 扩展库代码

    从给定文件内容可以看出,这篇文章...另外,认识到所有字符串操作功能都可以归结为几个基本的操作类型,有助于我们理解字符串处理的本质。在实际应用中,这些原则可以帮助开发者构建出强大且用户友好的字符串处理工具。

    JavaScript原生对象之String对象的属性和方法详解

    以下是对几个重要属性和方法的详细解释: 1. **length属性**: length属性返回字符串中的字符数目。在JavaScript中,字符串是不可变的,因此length属性无法修改。它基于UTF-16编码计算字符串的长度,空字符串的...

    android demo,android调用js方法

    总结起来,Android调用JavaScript方法涉及以下几个关键步骤: 1. 启用WebView的JavaScript支持。 2. 创建一个Java对象并添加到WebView,使其可被JavaScript调用。 3. 在Java对象中定义要暴露给JavaScript的方法。 4....

Global site tag (gtag.js) - Google Analytics