[解決済み] Javascriptで文字列中のある文字の出現回数をカウントする
2022-03-15 13:48:28
質問
文字列中のある文字の出現回数を数える必要があります。
例えば、私の文字列が含まれているとします。
var mainStr = "str1,str2,str3,str4";
カンマの数を調べたい
,
また、カンマで分割された後の個々の文字列の数は4である。
また、各文字列(str1、str2、str3、str4)が、例えば15文字を超えないことを検証する必要があります。
どのように解決するのですか?
この回答を更新しました。私はマッチを使うアイデアの方が好きですが、スピードが遅くなります。
console.log(("str1,str2,str3,str4".match(/,/g) || []).length); //logs 3
console.log(("str1,str2,str3,str4".match(new RegExp("str", "g")) || []).length); //logs 4
検索するものがあらかじめわかっている場合は正規表現リテラルを使用し、わかっていない場合は
RegExp
コンストラクタに
g
フラグを引数として与えます。
match
が返ってくる
null
となり、結果が出ないので
|| []
2009年に作成したオリジナルの回答は以下の通りです。不必要に配列を作成していますが スプリットを使用すると高速になります。 (2014年9月現在)です。私はアンビバレントで、本当にスピードが必要なら間違いなくsplitを使うだろうが、matchを使う方がいいと思う。
古い回答(2009年のもの)です。
カンマを探すなら
(mainStr.split(",").length - 1) //3
もし、あなたがstr
(mainStr.split("str").length - 1) //4
ローさんの回答でも、自分のバカでも パフォーマンステスト 少なくともChromeでは、splitが速度で勝っていますが、やはり余分な配列を作成するのは正気とは思えません。
関連
-
WeChatアプレット用ユニアプリによるグローバルシェアリング
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] とは何ですか! (not not)演算子とは何ですか?
-
[解決済み] JavaScriptでランダムな文字列/文字を生成する
-
[解決済み] JavaScriptで変数が文字列かどうかをチェックする
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み】文字列中のある文字の出現回数をカウントする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
JSクロスドメインソリューション リアクト構成 リバースプロキシ
-
Vueはランニングライト形式のテキストを水平方向にスクロールする機能を実装している
-
WeChatアプレット用ユニアプリによるグローバルシェアリング
-
JavaScriptの配列共通メソッド解説
-
[解決済み】TypeError: Router.use() はミドルウェアの関数を要求しているが、Object を取得した。
-
[解決済み】gulp anythingを実行するたびに、アサーションエラーが発生します。- タスク関数を指定する必要があります
-
[解決済み】React - TypeError: 未定義のプロパティ 'props' を読み取ることができない。
-
[解決済み】JavaScriptエラー(Uncaught SyntaxError: Unexpected end of input)
-
nodejs unhandledPromiseRejectionWarning メッセージ
-
フロントエンド null のプロパティ 'disabled' を読み取れない 問題が解決された