ホームページ ウェブフロントエンド jsチュートリアル 一般的な文字列操作関数と JavaScript_javascript スキルでの使用法の概要

一般的な文字列操作関数と JavaScript_javascript スキルでの使用法の概要

May 16, 2016 pm 04:01 PM
javascript 関数 文字列操作 使用法

この記事の例では、JavaScript での一般的な文字列操作関数と使用法をまとめています。皆さんの参考に共有してください。具体的な分析は次のとおりです。

私は最近、フロントエンドのインターン採用のためのいくつかの筆記試験に参加しましたが、Qunar.com の筆記試験問題、淘宝網の筆記試験問題など、多くの筆記試験問題で文字列処理がテストされることがわかりました。筆記試験を頻繁に受けたり、受けたことがある人なら、私と同じように、フロントエンドの採用プロセスで最も一般的な質問の種類の 1 つが文字列処理であることに気づくと思います。これらの質問には、試験官の視点で考えてください。知っているかどうかではなく、○○マニュアルや○○ガイド、Baidu や Google を借りずに比較的簡潔に書けるかどうかがテストされます。答え。残念なことに、多くの開発者は、頻繁に使用される文字列処理関数の使用法をしっかりと覚えておらず、常に XX マニュアル、XX ガイド、または Baidu Google を参照しなければなりません。その結果、これらの非常に重要な基本知識が十分に確立されていないため、これらの質問に遭遇した場合は、N レベルのネストされた for ループを使用して 1 つずつ調べる必要があります。この種の質問をするときに for ループを多用していることに気付いた場合は、間違った記述をしている可能性があるので注意してください。これらのことを過小評価しないでください。これらは仕事を見つけることや日々の成長に大きな役割を果たす可能性があります。さて、これ以上話さないで、一つずつまとめてみましょう。いくつかの漏れがあることは避けられませんが、見つけた場合は、お気軽に追加するか、プライベートメッセージを送信してください。

1. 文字列変換

文字列変換は最も基本的な要件であり、次の 3 つの方法のいずれかを使用して変換できます。

var num= 19; // 19
var myStr = num.toString(); // "19"
ログイン後にコピー
次のこともできます:

var num= 19; // 19
var myStr = String(num); // "19"
ログイン後にコピー
または、さらに単純:

var num= 19; // 19
var myStr = "" +num; // "19"
ログイン後にコピー

2. 文字列の分割

文字列の分割とは、文字列を複数の文字列に分割することです。JavaScript には、次のような非常に便利な関数が用意されています。

var myStr = "I,Love,You,Do,you,love,me";
var substrArray = myStr .split(",");
// ["I", "Love", "You", "Do", "you", "love", "me"];
var arrayLimited = myStr .split(",", 3);
// ["I", "Love", "You"];
ログイン後にコピー
split() の 2 番目のパラメータは、返される文字列配列の最大長を示します。

3. 文字列の長さを取得します

文字列の長さは開発でよく使用されます。次のように非常に簡単です。

var myStr = "I,Love,You,Do,you,love,me";
var myStrLength = myStr.length; //25
ログイン後にコピー
4. クエリ部分文字列

多くの人は、これらの JavaScript の組み込みメソッドを忘れたり、その具体的な使用法を忘れたりするため、質問を行うときに for ループをネストする必要があります。

最初の関数:indexOf() は、文字列の先頭から検索し、見つからない場合は、対応する座標を返します。以下のように:

2 番目の関数: lastIndexOf() は、文字列の末尾から検索し、見つからない場合は、対応する座標を返します。以下のように:
var myStr = "I,Love,you,Do,you,love,me";
var index = myStr.indexOf("you"); // 7 ,基于0开始,找不到返回-1
ログイン後にコピー

上記の 2 つの関数は、検索の開始位置を示す 2 番目のオプションのパラメーターも受け取ります。
var myStr = "I,Love,you,Do,you,love,me";
var index = myStr.lastIndexOf("you"); // 14
ログイン後にコピー

5. 文字列の置換

一般的な質問では、文字列を検索して独自の文字列に置き換えるよう求められることがよくあります。

デフォルトでは、最初に見つかったもののみが置換されます。グローバルに置換する場合は、次のような通常のグローバル フラグを設定する必要があります。
var myStr = "I,love,you,Do,you,love,me";
var replacedStr = myStr.replace("love","hate");
//"I,hate,you,Do,you,love,me"
ログイン後にコピー

さらに詳しい説明については、以下を参照してください。
http://www.jb51.net/w3school/js/jsref_replace.htm
var myStr = "I,love,you,Do,you,love,me";
var replacedStr = myStr.replace(/love/g,"hate");
//"I,hate,you,Do,you,hate,me"
ログイン後にコピー

6. 指定された位置の文字またはその文字エンコード値を検索します

特定の位置にある文字を検索するには、次の関数を使用できます:

同様に、その兄弟関数の 1 つは、次のような、対応する位置の文字エンコーディング値を検索することです。
var myStr = "I,love,you,Do,you,love,me";
var theChar = myStr.charAt(8);// "o",同样从0开始
ログイン後にコピー

7. 文字列の連結
var myStr = "I,love,you,Do,you,love,me";
var theChar = myStr.charCodeAt(8); //111

ログイン後にコピー
文字列の連結操作は、次のような加算演算子を使用するだけで簡単になります。

同様に、JavaScript には次のような関連関数も付属しています。

var str1 = "I,love,you!";
var str2 = "Do,you,love,me?";
var str = str1 + str2 + "Yes!";
//"I,love,you!Do,you,love,me?Yes!"
ログイン後にコピー

concat() 関数は複数のパラメーターを持ち、複数の文字列を渡し、複数の文字列を結合できます。

var str1 = "I,love,you!";
var str2 = "Do,you,love,me?";
var str = str1.concat(str2);
//"I,love,you!Do,you,love,me?"
ログイン後にコピー
8. 文字列の切断と抽出

文字列から抽出して切り取るには、次の 3 つの方法があります。

最初の方法は、slice(): を使用することです。

2 番目に、substring():

を使用します。
var myStr = "I,love,you,Do,you,love,me";
var subStr = myStr.slice(1,5);//",lov"
ログイン後にコピー

3 番目の方法は、substr():

を使用することです。
var myStr = "I,love,you,Do,you,love,me";
var subStr = myStr.substring(1,5); //",lov"
ログイン後にコピー

最初と 2 番目のメソッドとは異なり、上記の結果に示されているように、substr() の 2 番目のパラメーターはインターセプトされた文字列の最大長を表します。

var myStr = "I,love,you,Do,you,love,me";
var subStr = myStr.substr(1,5); //",love"
ログイン後にコピー
9. 文字列の大文字と小文字の変換

大文字または小文字の文字列に変換するために一般的に使用される関数は次のとおりです:

10. 文字列マッチング
var myStr = "I,love,you,Do,you,love,me";
var lowCaseStr = myStr.toLowerCase();
//"i,love,you,do,you,love,me";
var upCaseStr = myStr.toUpperCase();
//"I,LOVE,YOU,DO,YOU,LOVE,ME"
ログイン後にコピー
文字列のマッチングには、正規表現についてある程度の理解が必要な場合があります。まず match() 関数を見てみましょう。

如你所见,match()函数在字符串上调用,并且接受一个正则的参数。来看看第二个例子,使用exec()函数:

var myStr = "I,love,you,Do,you,love,me";
var pattern = /love/;
var result = pattern .exec(myStr);//["love"]
console.log(result .index);//2
console.log(result.input );//I,love,you,Do,you,love,me
ログイン後にコピー

简单吧,仅仅是把正则和字符串换了个位置,即exec()函数是在正则上调用,传递字符串的参数。对于上面两个方法,匹配的结果都是返回第一个匹配成功的字符串,如果匹配失败则返回null.

再来看一个类似的方法search(),如:

var myStr = "I,love,you,Do,you,love,me";
var pattern = /love/;
var result = myStr.search(pattern);//2
ログイン後にコピー

仅返回查到的匹配的下标,如果匹配失败则返回-1.

11、字符串比较

比较两个字符串,比较是规则是按照字母表顺序比较的,如:

var myStr = "chicken";
var myStrTwo = "egg";
var first = myStr.localeCompare(myStrTwo); // -1
first = myStr.localeCompare("chicken"); // 0
first = myStr.localeCompare("apple"); // 1
ログイン後にコピー

12、举例

最后我们来看一道前端笔试题,去哪儿网的,相信很多孩子都做到过这个题了。题目:写一个getSuffix函数,用于获得输入参数的后缀名,例如输入abcd.txt,返回txt。附上我的答案:

function getSuffix(file){
   return file.slice(file.lastIndexOf(".") + 1,file.length); 
}
ログイン後にコピー

结束语

相信JavaScript中字符串操作的函数应该不止这几个,但是上面列的这些应该都是非常常用的。如果有哪些需要补充的,欢迎补充!希望看到这些以后,再面对字符串的笔试面试题你能非常从容的面对。

希望本文所述对大家的javascript程序设计有所帮助。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

golang 関数で新しい関数を動的に作成するためのヒント golang 関数で新しい関数を動的に作成するためのヒント Apr 25, 2024 pm 02:39 PM

Go 言語は、クロージャとリフレクションという 2 つの動的関数作成テクノロジを提供します。クロージャを使用すると、クロージャ スコープ内の変数にアクセスでき、リフレクションでは FuncOf 関数を使用して新しい関数を作成できます。これらのテクノロジーは、HTTP ルーターのカスタマイズ、高度にカスタマイズ可能なシステムの実装、プラグイン可能なコンポーネントの構築に役立ちます。

C++ 関数の命名におけるパラメーターの順序に関する考慮事項 C++ 関数の命名におけるパラメーターの順序に関する考慮事項 Apr 24, 2024 pm 04:21 PM

C++ 関数の名前付けでは、読みやすさを向上させ、エラーを減らし、リファクタリングを容易にするために、パラメーターの順序を考慮することが重要です。一般的なパラメータの順序規則には、アクション-オブジェクト、オブジェクト-アクション、意味論的な意味、および標準ライブラリへの準拠が含まれます。最適な順序は、関数の目的、パラメーターの種類、潜在的な混乱、および言語規約によって異なります。

Java で効率的で保守しやすい関数を記述するにはどうすればよいでしょうか? Java で効率的で保守しやすい関数を記述するにはどうすればよいでしょうか? Apr 24, 2024 am 11:33 AM

効率的で保守しやすい Java 関数を作成するための鍵は、シンプルに保つことです。意味のある名前を付けてください。特殊な状況に対処します。適切な可視性を使用してください。

Excel関数の公式の完全なコレクション Excel関数の公式の完全なコレクション May 07, 2024 pm 12:04 PM

1. SUM 関数は、列またはセルのグループ内の数値を合計するために使用されます (例: =SUM(A1:J10))。 2. AVERAGE 関数は、列またはセルのグループ内の数値の平均を計算するために使用されます (例: =AVERAGE(A1:A10))。 3. COUNT 関数。列またはセルのグループ内の数値またはテキストの数をカウントするために使用されます。例: =COUNT(A1:A10)。 4. IF 関数。指定された条件に基づいて論理的な判断を行い、結果を返すために使用されます。対応する結果。

C++関数のデフォルトパラメータと可変パラメータの長所と短所の比較 C++関数のデフォルトパラメータと可変パラメータの長所と短所の比較 Apr 21, 2024 am 10:21 AM

C++ 関数のデフォルト パラメーターの利点には、呼び出しの簡素化、可読性の向上、エラーの回避などがあります。欠点は、柔軟性が限られていることと、名前の制限があることです。可変引数パラメーターの利点には、無制限の柔軟性と動的バインディングが含まれます。欠点としては、複雑さの増大、暗黙的な型変換、デバッグの難しさなどが挙げられます。

参照型を返す C++ 関数の利点は何ですか? 参照型を返す C++ 関数の利点は何ですか? Apr 20, 2024 pm 09:12 PM

C++ で参照型を返す関数の利点は次のとおりです。 パフォーマンスの向上: 参照による受け渡しによりオブジェクトのコピーが回避され、メモリと時間が節約されます。直接変更: 呼び出し元は、返された参照オブジェクトを再割り当てせずに直接変更できます。コードの簡素化: 参照渡しによりコードが簡素化され、追加の代入操作は必要ありません。

カスタム PHP 関数と定義済み関数の違いは何ですか? カスタム PHP 関数と定義済み関数の違いは何ですか? Apr 22, 2024 pm 02:21 PM

カスタム PHP 関数と定義済み関数の違いは次のとおりです。 スコープ: カスタム関数はその定義のスコープに限定されますが、事前定義関数はスクリプト全体からアクセスできます。定義方法: カスタム関数は function キーワードを使用して定義されますが、事前定義関数は PHP カーネルによって定義されます。パラメータの受け渡し: カスタム関数はパラメータを受け取りますが、事前定義された関数はパラメータを必要としない場合があります。拡張性: カスタム関数は必要に応じて作成できますが、事前定義された関数は組み込みで変更できません。

C++ 関数例外の詳細: カスタマイズされたエラー処理 C++ 関数例外の詳細: カスタマイズされたエラー処理 May 01, 2024 pm 06:39 PM

C++ の例外処理は、特定のエラー メッセージ、コンテキスト情報を提供し、エラーの種類に基づいてカスタム アクションを実行するカスタム例外クラスを通じて強化できます。 std::Exception から継承した例外クラスを定義して、特定のエラー情報を提供します。カスタム例外をスローするには、throw キーワードを使用します。 try-catch ブロックでdynamic_castを使用して、キャッチされた例外をカスタム例外タイプに変換します。実際の場合、open_file 関数は FileNotFoundException 例外をスローします。例外をキャッチして処理すると、より具体的なエラー メッセージが表示されます。

See all articles