紫影基地

 找回密码
 立即注册
查看: 132|回复: 0

[JavaScript] JavaScript字符串操作

[复制链接]
阅读字号:

2002

主题

2117

帖子

21万

积分

超级版主

Rank: 8Rank: 8

积分
210303
发表于 2024-4-20 23:38:04 | 显示全部楼层 |阅读模式



分类专栏: JavaScript


1.切割字符串 str.split(',');
代码如下:
<script language="javascript">
str="2,2,3,5,6,6"; //这是一字符串
var strs= new Array(); //定义一数组
strs=str.split(","); //字符分割
for (i=0;i<strs.length ;i++ )
{
  document.write(strs[i]+"<br/>"); //分割后的字符输出
}
</script>

输出结果就是
2
2
3
5
6
6

js split就是将一字符串以特定的字符分割成多个字符串,大家应当一看就懂了吧。
下面是有关js split的定义和用法。
定义和用法
split() 方法用于把一个字符串分割成字符串数组。
语法
stringObject.split(separator,howmany)

参数 描述
separator 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。
howmany 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

返回值
一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 stringObject 分割成子串创建的。返回的数组中的字串不包括 separator 自身。

但是,如果 separator 是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(但不包括与整个正则表达式匹配的文本)。

2.substr(start,length)
该方法可在字符串中抽取从 start 下标开始的指定数目的字符。
start: 必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
length:可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。

注释:substr() 的参数指定的是子串的开始位置和长度,因此它可以替代 substring() 和 slice() 来使用。

<script type="text/javascript">
  var str="Hello world!"
  document.write(str.substr(3))
</script>
输出:
lo w

3.substring(start,stop)

该方法用于提取字符串中介于两个指定下标之间的字符。
start: 必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。
stop:  可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。
            如果省略该参数,那么返回的子串会一直到字符串的结尾。

返回值
一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减start。


<script type="text/javascript">

var str="Hello world!"
document.write(str.substring(3,7))

</script>

输出:

lo w


4.slice(start,end)
slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。
start: 要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推.
end: 紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。
返回值:一个新的字符串。包括字符串 stringObject 从 start 开始(包括 start)到 end 结束(不包括 end)为止的所有字符。

说明
String 对象的方法 slice()、substring() 和 substr() (不建议使用)都可返回字符串的指定部分。slice() 比 substring() 要灵活一些,因为它允许使用负数作为参数。slice() 与 substr() 有所不同,因为它用两个字符的位置来指定子串,而 substr() 则用字符位置和长度来指定子串。
还要注意的是,String.slice() 与 Array.slice() 相似。

<script type="text/javascript">
var str="Hello happy world!"
document.write(str.slice(6,11))
</script>

输出:
happy
5.replace(regexp/substr,replacement)
replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
regexp/substr:必需。规定子字符串或要替换的模式的 RegExp 对象。
请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。
replacement:必需。一个字符串值。规定了替换文本或生成替换文本的函数。
replacement 可以是字符串,也可以是函数。如果它是字符串,那么每个匹配都将由字符串替换。但是 replacement 中的 $ 字符具有特定的含义。如下表所示,它说明从模式匹配得到的字符串将用于替换。

在本例中,我们将把 "Doe, John" 转换为 "John Doe" 的形式:
name = "Doe, John";
name.replace(/(\w+)\s, \s(\w+)/, "$2 $1");

在本例中,我们将把所有的花引号替换为直引号:
var name = '"a", "b"';
name.replace(/"([^"]*)"/g, "'$1'");
console.log(name);

在本例中,我们将把字符串中所有单词的首字母都转换为大写:
name = 'aaa bbb ccc';
uw=name.replace(/\b\w+\b/g, function(word){
return word.substring(0,1).toUpperCase()+word.substring(1);}
);


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|紫影基地

GMT+8, 2025-1-12 12:17 , Processed in 0.082373 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表