js文字列で一般的に使用されるメソッド09

文字列で一般的に使用されるメソッド:

文字列は実際のプロジェクトで操作されることがよくあります。現時点では、一般的に使用される文字列操作方法をいくつか習得する必要があります。

文字列を表すために、以下の各メソッドの前にstrを追加します。目的は、文字列で一般的に使用される方法を誰もがよりよく理解できるようにすることです。

1. str.charAt()は、指定されたインデックス位置の文字を返します。
ここで注意を払う必要があります:

str [0]とstr.charAt(0)の両方が最初の文字を取得します。charAtを使用して有効な文字を取得できない場合、空の文字列が返されます。str [index]では、指定されたインデックスが存在しない場合、[]メソッドは未定義になります。

2、str.charCodeAt()

在charAt()基础上,把获取的字符变为编码值。‘如果是中文汉字的情况下,转换为Unicode编码值,如果是特殊字符或者字母数字,转换为ASCII编码中的值’。
charCodeAt(0),括号里字符串中字符的索引。
下面有一些常用的数字、字母对应的编码值。
48~57 : 数字 0~9
65~90 : 大写字母 A~Z
97~122 : 小写字母 a~z

3. String.fromCharCode(10進数のUnicode値)// ASCIIテーブルの情報に従って、値を対応する文字に変換します。

例:String.fromCharCode(104) 其结果是 h 。在ASCII码表中,十进制114对应的就是小写字母h。
(看到这里的童鞋,不太了解ASCII码表的,请自行问度娘)

4. Str.substr()\ str.substring()\ str.slice()
は文字列のインターセプトの方法を実現します
が、違いは次のとおりです。

str.substr(n,m):从索引n开始,截取m个字符,把找到的部分截取出来。
str.substring(n,m):从索引n开始截取(包含n),截取到索引m处(但是不包含m),把找到的部分截取出来。
str.slice(n,m) : 用法和substring()用法一样,只不过区别在于slice支持负数做为索引。
在索引为负数的时候,浏览器在处理的时候,使用字符串总长度加上负数的索引,然后按照正数处理操作。
例:str的总长度是46
str.slice(-7,-3) -> slice(46-7,46-3) -> slice(39,43)
在这里值得提的一点是 str.slice(0)、str.substring(0)和str.sub(0) 是把原有字符串内容都截取一份。(相当于字符串的克隆)

在高程3(JavaScript高级程序设计第124页)中提到了对substr()方法和substring()方法的索引出现负数的情况的一些处理。
在substr()方法将负的第一个参数加上字符串的长度,而将负的第二个参数转换为0;substring()方法是会把所有负数参数都转换为0。

上記の3つの方法で文字列をインターセプトするときは、いくつかの詳細にも注意する必要があります。
まず、nのみが渡される場合、インデックスnから開始して、文字列の最後までインターセプトすることと同じです。
2番目:渡されたインデックスが最大制限を超えている(文字列の長さを超えている)場合は、傍受される可能性のある部分を切り取ります。
3番目:パラメーターが渡されない場合、文字列全体をインターセプトすることと同じです。(3つの方法すべてが結果です。)

5. str.toUppercase()は、すべての文字列を大文字に変換します。

6. str.toLowercase()は、すべての文字列を小文字に変換します。

7. str.indexOf()/ lastIndexOf()
str.indexOf()文字列内の現在の文字の最初の出現のインデックスを取得します。
str.lastIndexOf()文字列内の現在の文字が最後に出現するインデックスを取得します。

注意する必要があるのは、str.indexOf()とstr.lastIndexOf()の両方が文字列インデックス0から検出を開始することです。
例えば:

var str = ‘hello world!’
str.indexOf(‘w’) => 6 str.lastIndexOf(‘w’) => 6

それでもstr = 'hello world!'、str.indexOf( 'llo')は、次のことを意味します。見つかった文字は3つの連結されたlloである必要があり、最初の文字lのインデックスを取得します。

注意する必要があるのは、検索する必要のある文字が現在の文字列に存在しない場合、戻り値は-1(存在する限り、インデックス範囲は> = 0)であるため、次のことを確認できます。 current文字が文字列に含まれるかどうか。

次のコードを見てください。アイデアはより活発になります。

if (str.indexOf(‘?’)===-1){
// 没有出现过
}

if (str.indexOf(‘?’)>=0){
// 出现过
}

8、str.split()

文字列を特定の文字に従って配列内の項目に分割し、それらをそれぞれ配列に格納します。これは、配列内の結合メソッドに対応します。(配列内のjoinメソッドは自分で確認できます。次のブログ、heheで、配列内の一般的なメソッドを引き続き要約します。)

var hobbyList = ‘music|movie|eat’;
console.log(hobbyList.split(‘|’)); //结果是[‘music’,’movie’,’eat’]

文字列に文字が含まれていない場合、元の文字列が配列の項目として使用され、返されます。
console.log(hobbyList.split( "@")); //結果は['music | movie | eat']です
。実際、現在の文字列は、のsplitメソッドを使用してまったく存在しない文字を検索します。文字列、および現在の文字列が返されます。文字列。

9、str.replace()

文字の置換の実現
replaceメソッドを1回実行すると、1回しか置換できません。複数の文字を置換する必要がある場合は、正則化を使用せずに複数回実行する必要があります。
多くの場合、何度も交換を行っても達成できませんが、現時点では定期的に対応する必要があります。(実際のプロジェクトでは、replaceは通常通常のルールで使用されます)。

例:次のコードに示すように

var str =”dajiahao”;
str.replace(“dajiawanshang”,”dajia”);
这是str的结果就变成了 ‘dajiawanshanghao’。
str.replace(“dajiawanshang”,”dajia”);
经过两次替换的结果‘dajiawanshangdajiawanshanghao’。
经过我们的两次替换依然没有实现效果。

10 trim / trimLeft / trimRight
str.trimLeft: 去除字符串开始的空格。

str.trimRight:去除字符串结尾的空格。
str.trim: 去除首尾的空格。(不能去除字符串与字符串之间的空格!!!)。

おすすめ

転載: blog.csdn.net/qq_45555960/article/details/102468571