文字列の基本と一般的なメソッド

目次

1. 文字列とは何ですか?

2.文字列の作成方法

3、文字列の一般的な方法

1. charAt (インデックス値)

2. charCodeAt (インデックス値) 

3、fromCharCode(ASCII)

4、toUpperCase()

5、toLowerCase()

6、部分文字列、部分文字列、スライス

7. replace("置換された文字", "新しい文字")

8.split("区切り文字を指定")

9、indexOf、lastIndexOf

10、trim()、trimStart()|trimLeft()、trimEnd()|trimRight()

4. エスケープ文字

5、JSON形式の文字列


1. 文字列とは何ですか?

文字列は読み取り専用の文字の配列です。

なぜ読み取り専用なのでしょうか?

        文字列のすべてのメソッドは、添字の変更を含め、元の文字列を変更せず、文字列はそのまま残るため、読み取り専用です。

var str="abcd"
console.log(str) //"abcd"
str[0]="c"
console.log(str) //"abcd"

なぜ文字列も配列なのでしょうか?

        配列と同じ点を持っているため

                1) 文字は添え字を通じて取得できます。

                2) .length を使用して文字列の長さを取得できます。

                3) 各文字は巡回トラバーサルによって取得できます。

2.文字列の作成方法

文字列作成にもリテラルコンストラクターの 2 種類があります。

// 字面量方式
var str="hello"
// 构造函数方式
var str2=new String("hello")

文字列は .length を通じて長さを取得することもできます。したがって、文字列をトラバースすることができます。

var str="hello"
for(var i=0;i<str.length;i++){
    console.log(i)
}

注: 添え字を使用して文字列内の文字の値を変更することはできず、変更は有効になりません。

3、文字列の一般的な方法

1. charAt (インデックス値)

文字のインデックス値を渡すことによって、対応する文字を返します。元の文字列の範囲を超える場合は、null 文字が返されます。

var str="abc"
var str1=str.charAt(0)
console.log(str1) //a

2. charCodeAt (インデックス値) 

文字のインデックス値を渡すことによって、対応する文字の ASCII コードを返します。文字列の長さを超える場合は NaN が返されます。

var str = "abc";
var str1 = str.charCodeAt(0);
console.log(str1); // 97

3、fromCharCode(ASCII)

ASCII コードを渡すことにより、受信した ASCII を対応する文字に変換できます。

var str = "abc";
var str1 = str.charCodeAt(0);
console.log(str1); // 97
console.log(String.fromCharCode(str1))

このメソッドは文字列にのみ存在し、このメソッドを使用するカスタム文字列はエラーを報告することに注意してください。

4、toUpperCase()

文字列内のすべての小文字は、元の文字列に影響を与えることなく大文字に変換できます。

var str="Hello"
console.log(str.toUpperCase())
console.log(str)

5、toLowerCase()

元の文字列に影響を与えずに、文字列内のすべての大文字を小文字に変換します。

var str="HELLO"
console.log(str.toLowerCase())
console.log(str)

6、部分文字列、部分文字列、スライス

  • substr(開始インデックス、長さ)
var str="hello"
console.log(str.substr(0,3)) //hel
  • substring (開始インデックス、終了インデックス): 終了インデックスを含まない位置は、左閉右開区間です。
var str="hello"
console.log(str.substring(0,2)) //he
//substring不支持负数索引
console.log(str.substring(0,-1))// 空字符
  • スライス (開始インデックス、終了インデックス): 終了インデックスを含まない位置、左閉右開区間

var str="hello"
console.log(str.slice(0,2)) // he
//slice支持负数索引
console.log(str.slice(0,-1)) // hell

7. replace("置換された文字", "新しい文字")

replace は文字列で指定された文字列を置換できますが、最初に見つかった文字列のみであり、それ以降に文字列がある場合は置換されません。

解決策: ループまたは正規表現。

var str="asdjajd"
var str1=str.replace("a","*")
console.log(str1) //*sdjajd

8.split("区切り文字を指定")

文字列は、元の文字列に影響を与えることなく、指定された文字に従って分割し、配列の形式で返すことができます。

var str="a,b,c,d"
var str1=str.split(",")
console.log(str1) //[ 'a', 'b', 'c', 'd' ]
// 如果切割的是空字符串,每个字符都会分隔开,变成数组。

9、indexOf、lastIndexOf

どちらも、指定された文字が文字列内にあるかどうかを確認するためのものです。

indexOf は前から後ろに検索し、lastIndexOf は後ろから前に検索します。どちらも最初の出現位置のみを見つけることができ、後から出現する場合は添え字を返しません。

検索対象の位置が文字列中に存在しない場合は-1 を返し、存在する場合は添え字を返します。

var str="abcda"
console.log(str.indexOf("a")) // 0
console.log(str.lastIndexOf("a"))  // 4
console.log(str.indexOf("e")) //-1
console.log(str.lastIndexOf("e"))

10、trim()、trimStart()|trimLeft()、trimEnd()|trimRight()

どちらも文字列からスペースを削除できます。

  • トリム: 先頭と末尾のスペースを削除します

  • trimStart()|trimLeft() : 最初のスペースを削除します

  • trimEnd()|trimRight() : 末尾のスペースを削除します

var str1 = " 哈哈哈哈 ";
var str2 = " 哈哈";
var str3 = " 哈哈";
var str4 = "哈哈 ";
var str5 = "哈哈 ";
console.log(str1.trim());
console.log(str2.trimStart());
console.log(str3.trimLeft());
console.log(str4.trimEnd());
console.log(str5.trimRight());
/*
哈哈哈哈
哈哈
哈哈
哈哈
哈哈
*/

4. エスケープ文字

いつ使用しますか?

        文字列内にプログラムと矛盾する文字が含まれています。

構文: \エスケープする文字 (「\"」など) は、引用符をエスケープすることを意味します。

特別:

        1. 指定された文字には特別な機能があります。

                \n: 改行

                \t: タブ文字

        2. Unicode エンコードをエスケープできます。

                 \uxxxx

5、JSON形式の文字列

        バックエンドは、文字列型のオブジェクト、つまり '{"name":"txl","age":"18"}' を渡すことができます。

        この形式の文字列を使い慣れたオブジェクト型に変換する必要があります。JS の組み込みメソッド JSON.parse( JSON format string)を使用できます。変換後、オブジェクトに保存されている属性と属性値を取得できます。

注: 文字列内のオブジェクトのキーは二重引用符で囲む必要があります。

JSON.stringify(Object to be Converter)を使用して、オブジェクトを JSON 文字列に変換することもできます

Guess you like

Origin blog.csdn.net/txl2498459886/article/details/126668072