本文翻译youtube上的up主kudvenkat的javascript tutorial播放单

源地址在此:

https://www.youtube.com/watch?v=PMsVM7rjupU&list=PL6n9fhu94yhUA99nOsJkKXBqokT3MBK0b

以下方法是Javascript中可以用来获得string中的substring的方法:

substring()

substr()

slice()

substring() 方法: 这个方法有两个参数,起始和结尾.起始参数是必须的,它决定了提取的起始位置.结尾参数不是必须,它决定了提取的终点位置.在终点位置的单字是不包括在substring里的.如果结尾参数缺省,那么从起始位置开始到整个string结束的部分都会被提取.如果起始参数值大于结尾参数值,那么这个方法会自动交换两个参数.这就是说,起始位置会变成终点位置,而终点位置则会变成起始位置

例子:提取前10个字母

var str = "JavaScript Tutorial";
var result = str.substring(0, 10);
alert(result);

Output : JavaScript

如果起始参数的值大于终点参数,那么这两个参数会互换

var str = "JavaScript Tutorial";
var result = str.substring(10, 0);
alert(result);

Output : JavaScript

substr()方法: 这个方法有两个参数,起始和计数.起始参数是必须的,它决定了提取substring的起始位置.计数参数不是必须的,它决定了要从起始位置提取多少个字母.如果计数参数缺省,那么从起始位置开始会提取到string末尾的所有字母.如果计数参数为0或者负数,那么则会返回一个空string.

提取前10个字母

var str = "JavaScript Tutorial";
var result = str.substr(0, 10);
alert(result);

Output : JavaScript

如果计数参数为缺省,那么会从起始位置提取剩下string的所有字母

var str = "JavaScript Tutorial";
var result = str.substr(11);
alert(result);

Output : Tutorial

slice()方法:这个方法有两个参数,起始和结尾,起始参数为必须,它决定了提取的起始位置.结尾参数不是必须的,它决定了终点的位置.终点位置的字母不会包含在提取出的substring里.如果终点参数缺省,那么从起始位置开始的所有剩下string的字母都会被提取.

提取前10个字母

var str = "JavaScript Tutorial";
var result = str.slice(0, 10);
alert(result);

Output : JavaScript

如果终点参数缺省,那么从起始位置开始到string末尾的所有字母都会被提取

var str = "JavaScript Tutorial";
var result = str.slice(11);
alert(result);

Output : Tutorial

substr()和substring()方法的区别

区别在于第二个参数,substring的第二个参数表示了提取结束位置的index所在.终点位置的字母是不被substring包含的.而substr()的第二个参数则表示要返回多少个字母

另外一个区别是,substr()方法是不能在IE8和更早的版本上运行的

slice()和substring()的区别

如果起始参数大于结尾参数,那么substring()会交换两个值的位置,但是slice()则不会

另外一个在提取substring的过程中很有用的方法就是indexOf()方法.这个方法会返回一个string中特定值的第一次遇到的位置.如果特定值没找到则会返回-1

例子:找到email中@字母的位置

var str = "pragim@pragimtech.com";
var result = str.indexOf("@");
alert(result);

Output : 6

[译]Javasctipt中的substring的更多相关文章

  1. [译]JDK 6 and JDK 7中的subString()方法

    (说明,该文章翻译自The substring() Method in JDK 6 and JDK 7) 在JDK 6 and JDK 7中的substring(int beginIndex, int ...

  2. C#和Java中的Substring()

    吐槽-使用清理软件整理电脑要注意,不要清理的"太狠",不然你会受伤的! C#中的Substring() 示例 实现代码 using System;using System.Coll ...

  3. 说说你所熟知的MSSQL中的substring函数

    说说你所熟知的MSSQL中的substring函数 *:first-child { margin-top: 0 !important; } body>*:last-child { margin- ...

  4. [转]JDK6和JDK7中的substring()方法

    substring(int beginIndex, int endIndex)在JDK6与JDK7中的实现方式不一样,理解他们的差异有助于更好的使用它们.为了简单起见,下面所说的substring() ...

  5. Java-J2SE学习笔记-查找一个String中,subString的出现次数

    1.查找一个String中,subString的出现次数 2.代码 package Test; public class TestStringContain { public static void ...

  6. JDK6和JDK7中的substring()方法

    substring(int beginIndex, int endIndex)在JDK6与JDK7中的实现方式不一样,理解他们的差异有助于更好的使用它们.为了简单起见,下面所说的substring() ...

  7. freemarker中的substring取子串

    freemarker中的substring取子串 1.substring取子串介绍 (1)表达式?substring(from,to) (2)当to为空时,默认的是字符串的长度 (3)from是第一个 ...

  8. freemarker中的substring取子串(十四)

    freemarker中的substring取子串 1.substring取子串介绍 (1)表达式?substring(from,to) (2)当to为空时,默认的是字符串的长度 (3)from是第一个 ...

  9. CockroachDB学习笔记——[译]CockroachDB中的SQL:映射表中数据到键值存储

    CockroachDB学习笔记--[译]CockroachDB中的SQL:映射表中数据到键值存储 原文标题:SQL in CockroachDB: Mapping Table Data to Key- ...

随机推荐

  1. CF gym 101933 K King's Colors —— 二项式反演

    题目:http://codeforces.com/gym/101933/problem/K 其实每个点的颜色只要和父亲不一样即可: 所以至多 i 种颜色就是 \( i * (i-1)^{n-1} \) ...

  2. MySQL 利用xtrabackup进行增量备份详细过程汇总 (转)

    Xtrabackup下载.安装以及全量备份请参考:http://blog.itpub.net/26230597/viewspace-1465772/ 1,创建mysql备份用户 mysql -uroo ...

  3. Azure上采用Json Template从已有的VHD创建VM

    从已有的VHD创建VM是使用Azure中经常要操作的内容. 本文将介绍如何采用Json Template从已经有的VHD创建VM. 一.准备VHD 在我的Azure账户中选择一台VM,如下图: 查看其 ...

  4. SQL简单嵌套查询与非嵌套查询的比较(MSSQL2005)

    某天的工作是修复某个项目的bug,接着就发现,其sql极其混乱,有非常多的left join和in操作,还有嵌套查询(只有一个表的嵌套查询).不知道看到过哪里的资料说,嵌套查询速度慢,于是我把全部嵌套 ...

  5. distinct可以用in代替(小技巧)

    distinct可以用in代替,in的好处是直接能获取所有数据,而distunct只能获取distinct的字段,不过效率肯定高一些.

  6. How to clear fmadm log or FMA faults log (ZT)

    Here are the step by step of clearing the FMA faults on most of Oracle/Sun server. Work perfectly on ...

  7. java 多线程系列---JUC原子类(三)之AtomicLongArray原子类

    AtomicLongArray介绍和函数列表 在"Java多线程系列--“JUC原子类”02之 AtomicLong原子类"中介绍过,AtomicLong是作用是对长整形进行原子操 ...

  8. Oracle、SqlServer——基础知识——oracle 与 SqlServer 的区别(未完工)

    一. oracle 与 SqlServer 的区别: 类别 oracle SqlServer 连接字符串 || + 变量 变量名 @变量名 初始赋值 := = SQL语句赋值 into = 绑定变量 ...

  9. MySQL学习笔记之一---字符编码和字符集

    前言: 一般来说,出现中文乱码,都是客户端和服务端字符集不匹配导致的原因. (默认未指定字符集创建的数据库表,都是latinl字符集, 强烈建议使用utf8字符集)   保证不出现乱码的思想:保证客户 ...

  10. CALayer的基本使用

    CALayer需要导入这个框架:#import <QuartzCore/QuartzCore.h> 一.CALayer常用属性 属性 说明 是否支持隐式动画 anchorPoint 和中心 ...