字符串方法之-indexOf、lastIndexOf、等等一些方法
1、indexOf():方法可返回某个指定的字符串值在字符串中首次出现的位置(从左往右找)。
语法:stringObject.indexOf(searchvalue,fromindex)
<script> var str = 'www.miaov.com/2013ww'; /*
for ( var i=0; i<str.length; i++ ) {
if ( str.charAt(i) === 'i' ) {
alert(i);
}
}
//原始查找字符串位置的方法
*/ // alert( str.indexOf('m') );
// alert( str.indexOf('m', 5) );
// alert( str.indexOf('X') ); // -1 表示没找到 alert( str.indexOf('ww', 2) ); </script>
2、查找字符串出现多个地方的位置(索引)
<script> var str = '妙味课堂是一支独具特色的IT培训团队,妙味反对传统IT教育枯燥乏味的教学模式,妙味提供一种全新的快乐学习方法!'; var s = '妙味';
var i = 0;
/*
for( ; str.indexOf( s, i ) != -1 ; ){
alert( str.indexOf( s, i ) );
i = str.indexOf( s, i ) + s.length;
}
*/
while( str.indexOf( s, i ) != -1 ){
alert( str.indexOf( s, i ) );
i = str.indexOf( s, i ) + s.length;
} </script>
3、lastIndexOf():从右往左找,用法跟indexOf()一样;
4、比大小,字符串比大小,转成Unicode 编码再比较
<script> // alert( '杜'.charCodeAt() ); // alert( '莫涛' > '杜鹏' ); //true // alert( 'abbbbb' > 'b' ); //false alert( '10000' > '2' ); //false
alert( '10000' > 2 ); //true </script>
5、substring():提取字符串中两个指定的索引号之间的字符。(substring() 不接受负的参数。)
slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。
语法:stringObject.slice(start,end) 其中start, end可以为负数
eg:
<script> var str = '妙味课堂是一支独具特色的IT培训团队'; // alert( str.substring(0,2) );
// alert( str.substring(2,0) ); // 可以检测两个数,大的往后扔,小的往前扔 结果同上一行
// alert( str.substring(-3, 2) ); // -3 当成0处理
// alert( str.substring(2, -3) ); //以上结果都为 => 妙味 // alert( str.slice( 2, 0 ) ); // 不交换位置 找不到结果
alert( str.slice( -4, -2 ) ); // 负数从后面倒着往前数~ => 培训 </script>
6、简单小例子(实现展开收缩功能)
<style>
p { border:10px solid #ccc; background:#FFC; width:400px; padding:20px; font-size:16px; font-family:微软雅黑; margin:40px auto 0; }
</style> <script> window.onload = function () {
var oP = document.getElementsByTagName('p')[0];
var oSpan = oP.getElementsByTagName('span')[0];
var oA = oP.getElementsByTagName('a')[0];
var str = oSpan.innerHTML;
var onOff = true; oA.onclick = function () {
if ( onOff ) {
oSpan.innerHTML = str.substring(0, 18);
oA.innerHTML = '>>展开';
} else {
oSpan.innerHTML = str;
oA.innerHTML = '>>收缩';
}
onOff = !onOff;
};
}; </script> </head> <body> <p><span>妙味课堂是一支独具特色的IT培训团队,妙味反对传统IT教育枯燥乏味的教学模式,妙味提供一种全新的快乐学习方法!<br />2013年底,妙味课堂最新推出“远程培训”服务,受到很多朋友们的喜爱与追捧,我们必将更加努力的帮助远程学习的朋友实现技术提升</span>……<a href="javascript:;">>>收缩</a></p> </body>
6、toUpperCase():转成大写
7、toLowerCase():转成小写
用法:stringObject.toUpperCase();
8、toLocaleLowerCase() 方法用于把字符串转换为小写。
9、toLocaleUpperCase() 方法用于把字符串转换为大写。
语法:stringObject.toLocaleLowerCase();
10、slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分(分隔成数组)。
语法:stringObject.slice(start,end);
返回值:一个新的字符串。包括字符串 stringObject 从 start 开始(包括 start)到 end 结束(不包括 end)为止的所有字符。
eg、
<script> var str = 'www.miaov.com';
// alert( typeof str.split('.') ); // [ 'www', 'miaov', 'com' ]
var arr = str.split( '.' );
// alert( arr[1] ); var str1 = 'leo';
// alert( typeof str1.split() ); // [ 'leo' ] // alert( str1.split('') ); // [ 'l', 'e', 'o' ] var str2 = '妙味课堂'; // alert( str2.split('味') ); var str3 = '/www.miaov.com/'; // alert( str3.split('/').length ); // [ , www.miaov.com, ] =>3 var str4 = '2013-11-29-23-07'; alert( str4.split('-', 3) ); // ['2013', '11', '29'] </script>
11、小例子:
注意join() 方法用于把数组中的所有元素放入一个字符串。与silce()方法相反。
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<style>
div { width:300px; height:200px; border:1px solid #333; background:#fff; padding:20px; line-height:40px; }
span { padding:5px 15px; font-family:微软雅黑; }
</style>
</head> <body> <div id="div1">
<!--
<span style="background:#FFC;">文</span><span style="background:#CC3;">字</span><span style="background:#6FC;">内</span><span style="background:#9C9;">容</span>
-->
</div> <input type="text" />
<input type="button" value="按钮" /> <script>
var oDiv = document.getElementById('div1');
var aInp = document.getElementsByTagName('input');
var arrColor = [ '#FFC', '#CC3', '#6FC', '#9C9' ]; aInp[1].onclick = function () {
var str = aInp[0].value; // '妙味课堂'
var arr = str.split(''); // [ '妙', '味', '课', '堂' ](分隔成数组) for ( var i=0; i<arr.length; i++ ) {
arr[i] = '<span style="background:' + arrColor[i%arrColor.length] + ';">' + arr[i] + '</span>';
} oDiv.innerHTML += arr.join(''); //妙味课堂(数组再转为字符串)
}; var arr = [ 'aa', 'bb', 'cc' ]; // alert( typeof arr.join() ); 等于做连接 'aa'+','+'bb'+','+'cc' string
// alert( arr.join().length ); // =>8 // alert( arr.join('') ); alert( arr.join('-') ); </script> </body>
</html>
12、小例子:
<style>
p { border:10px solid #ccc; background:#FFC; width:400px; padding:20px; font-size:16px; font-family:微软雅黑; }
span { background:yellow; }
</style> </head> <body> <input type="text" />
<input type="text" />
<input type="button" value="替换" /> <p>妙味课堂是一支独具特色的IT培训团队,妙味反对传统IT教育枯燥乏味的教学模式,妙味提供一种全新的快乐学习方法!<br />
2013年底,妙味课堂最新推出"远程培训"服务,受到很多朋友们的喜爱与追捧,我们必将更加努力的帮助远程学习的朋友实现技术提升……</p> <script>
var aInp = document.getElementsByTagName('input');
var oP = document.getElementsByTagName('p')[0]; aInp[2].onclick = function () {
var str = aInp[0].value; // '妙味' (文本框里面出来的都是字符串)
var newStr = aInp[1].value; if (!str)return; oP.innerHTML = oP.innerHTML.split(str).join('<span>'+newStr+'</span>');
}; </script>
总结:
var str = '妙味课堂-WWW.miaov.com';
str.charAt(1); // '味'
str.charCodeAt(1); // 21619
String.fromCharCode(22937, 21619); // '妙味'
str.indexOf('m', 4); // 9
str.lastIndexOf('o'); // 16
'1000' < '2' // true
'1000' > 2 // true
str.substring(0, 4); // '妙味课堂'
str.slice(-3); // 'com'
str.toUpperCase(); // '妙味课堂-WWW.MIAOV.COM'
str.toLowerCase(); // '妙味课堂-www.miaov.com'
str.split('.', 2); // [ '妙味课堂-WWW', 'miaov' ]
var arr = [ 'www', 'miaov', 'com' ];
arr.join('aaa'); // 'www.miaov.com'
字符串方法之-indexOf、lastIndexOf、等等一些方法的更多相关文章
- String中的Indexof,LastIndexOf, Indexofany,LastIndexOfAny 的区别
本文转载自 http://www.cnblogs.com/qinying/archive/2008/09/22/1295730.html 定位子串是指在一个字符串中寻找其中包含的子串或者某个字符.在S ...
- js技术之获取字符串中某个字符的位置(lastIndexOf()方法 和 indexOf() 方法)
一.lastIndexOf()方法 1.作用: 方法可返回 一个指定的字符串值 在字符串中最后出现的位置.从左往右查. 2.返回: 一个正整数.或者 -1. 3.语法: stringObject.la ...
- IndexOf() LastIndexOf() Contains() StartsWith() EndsWith()方法比较
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...
- 【C#】判断字符串中是否包含指定字符串,contains与indexof方法效率问题
#方法一:使用string.Contains方法 string.Contains是大小写敏感的,如果要用该方法来判断一个string是否包含某个关键字keyword,需要把这个string和这个key ...
- jquery判断字符串中是否包含特定字符的方法总结
方法一:使用indexOf() 和lastIndexOf()方法 案例: var Cts = "bblText"; if(Cts.indexOf("Text") ...
- C#实现字符串按多个字符采用Split方法分割
原文:C#实现字符串按多个字符采用Split方法分割 String字符串如何按多个字符采用Split方法进行分割呢?本文提供VS2005和VS2003的实现方法,VS2005可以用下面的方法: str ...
- 深入解析字符串的比较方法:“==”操作符;String.Equals方法;String.Compare方法;String.CompareOrdinal方法。
1:要判断2个字符串变量是否相等,最高效的方法是看它们是否指向相同的内存地址.前面使用RefernceEquals方法来比较.如果2个变量指向的是不同的内存地址,那么就需要逐字符的比较2个字符串的变量 ...
- Java字符串的匹配问题,String类的matches方法与Matcher类的matches方法的使用比较,Matcher类的matches()、find()和lookingAt()方法的使用比较
参考网上相关blog,对Java字符串的匹配问题进行了简单的比较和总结,主要对String类的matches方法与Matcher类的matches方法进行了比较. 对Matcher类的matches( ...
- JavaScript进阶(四)js字符串转换成数字的三种方法
js字符串转换成数字的三种方法 在js读取文本框或者其它表单数据的时候获得的值是字符串类型的,例如两个文本框a和b,如果获得a的value值为11,b的value值为9 ,那么a.value要小于b. ...
随机推荐
- .net操作xml文件(新增.修改,删除,读取) 转
今天有个需求需要操作xml节点.突然见遗忘了许多.上网看了些资料.才整出来.脑袋真不够用.在这里把我找到的资料共享一下.方便以后使用.本文属于网摘/ 1 一.简单介绍2 using System.Xm ...
- Mac OS X 10.10 Yosemite下配置 apache+php
自从系统从OS X Mavericks 10.9升级到OS X Yosemite 10.10 后之前配置apache和php均不能正常使用了, 重新设置配置如下: 首先,查看当前系统的apache版本 ...
- HDU - 2204 Eddy's爱好 (数论+容斥)
题意:求\(1 - N(1\le N \le 1e18)\)中,能表示成\(M^k(M>0,k>1)\)的数的个数 分析:正整数p可以表示成\(p = m^k = m^{r*k'}\)的形 ...
- Android系统机制
Android系统机制 本文主要介绍Android系统整体运行机制 Linux中的一些概念 uboot加载系统内核到内存,系统内核运行起来的后,会创建第一个用户进程叫init进程,该进程是所有用户进程 ...
- 如何建立DB2分区数据库?(转)
欢迎和大家交流技术相关问题:邮箱: jiangxinnju@163.com博客园地址: http://www.cnblogs.com/jiangxinnjuGitHub地址: https://gith ...
- MVc分页【关于使用扩展方法实现MVc分页】
近期对MVc自定义分页作了一下小研究下面把他记下来 下述代1,2,3里面的代码可以直接拷贝,4以后的根据情况自己选定 1.在后台任写如下的扩展方法(任一类库都可以,但是用时得引用命名空间) // 添加 ...
- 20145240《网络对抗》逆向及Bof基础实践
逆向及Bof基础实践 1.1 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串. 该程序同时包 ...
- git操作方便,简单使用的客户端sourcetree 安装配置所遇问题总结
常言道:工欲善其事,必先利其器. SourceTree是老牌的Git GUI管理工具了,也号称是最好用的Git GUI工具 这里先言言它的好: * 免费 * 功能强大:无论你是新手还是重度用户,Sou ...
- JSON 中JsonConfig的使用(转)
我们通常对一个Json串和Java对象进行互转时,经常会有选择性的过滤掉一些属性值,而json-lib包中的JsonConfig为我们提供了这种 功能,具体实现方法有以下几种.(1)建立JsonCon ...
- Elasticsearch之分词器的作用
前提 什么是倒排索引? Analyzer(分词器)的作用是把一段文本中的词按一定规则进行切分.对应的是Analyzer类,这是一个抽象类,切分词的具体规则是由子类实现的,所以对于不同的语言,要用不同的 ...