一般的な文字列操作関数と JavaScript_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"];
文字列の長さは開発でよく使用されます。次のように非常に簡単です。
var myStr = "I,Love,You,Do,you,love,me"; var myStrLength = myStr.length; //25
多くの人は、これらの JavaScript の組み込みメソッドを忘れたり、その具体的な使用法を忘れたりするため、質問を行うときに for ループをネストする必要があります。
最初の関数:indexOf() は、文字列の先頭から検索し、見つからない場合は、対応する座標を返します。以下のように:
var myStr = "I,Love,you,Do,you,love,me"; var index = myStr.indexOf("you"); // 7 ,基于0开始,找不到返回-1
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"
さらに詳しい説明については、以下を参照してください。
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开始
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?"
文字列から抽出して切り取るには、次の 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"
大文字または小文字の文字列に変換するために一般的に使用される関数は次のとおりです:
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()函数在字符串上调用,并且接受一个正则的参数。来看看第二个例子,使用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程序设计有所帮助。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









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

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

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

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

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

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

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

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