[解決済み】文字列をn文字のセグメントに分割するにはどうすればよいですか?
2022-04-15 11:17:37
質問
タイトルの通り、文字列を分割して n の文字が表示されます。
例えば、こんな感じです。
var str = 'abcdefghijkl';
で魔法をかけた後
n=3
となる。
var arr = ['abc','def','ghi','jkl'];
何か方法があるのでしょうか?
どのように解決するのですか?
var str = 'abcdefghijkl';
console.log(str.match(/.{1,3}/g));
注
使用方法
{1,3}
だけでなく
{3}
のように、3の倍数でない文字列の長さには余りを含めるようにします。
console.log("abcd".match(/.{1,3}/g)); // ["abc", "d"]
あと2つほど微妙なところ。
-
文字列に改行が含まれる可能性がある場合 (
文字列を分割するのではなく、1文字としてカウントしたい場合
)であれば
.
は、それらを捕捉することはできません。使用方法/[\s\S]{1,3}/
代わりに(@Mikeさんありがとうございます)。 -
もし、文字列が空なら
match()
が返ってきます。null
は、空の配列を想定している場合です。を追加することで、これを防ぐことができます。|| []
.
ということになりかねません。
var str = 'abcdef \t\r\nghijkl';
var parts = str.match(/[\s\S]{1,3}/g) || [];
console.log(parts);
console.log(''.match(/[\s\S]{1,3}/g) || []);
関連
-
[解決済み】SyntaxError: 'import' と 'export' は 'sourceType: module' とだけ表示されるかもしれない - Gulp
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み] 文字列の単語を反復処理するにはどうすればよいですか?
-
[解決済み] リストを均等な大きさの塊に分割するには?
-
[解決済み] JavaScriptでランダムな文字列/文字を生成する
-
[解決済み] Javaで文字列を分割する方法
-
[解決済み】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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Failed to load resource: net::ERR_FILE_NOT_FOUND loading json.js
-
[解決済み】webpack: モジュールが見つかりません。Error: 解決できない(相対パスで)
-
[解決済み】JavaScriptのinnerHTMLで要素が更新されない
-
[解決済み】Uncaught ReferenceError。Reactが定義されていない
-
[解決済み] ローカルファイルを開くことができません - Chrome: ローカルリソースのロードが許可されていません
-
[解決済み】WebSocket接続に失敗しました。WebSocket のハンドシェイク中にエラーが発生しました。予期しない応答コードです。400
-
[解決済み】このオブジェクトの "forEach "はなぜ関数でないのですか?
-
[解決済み】Uncaught TypeError: 未定義のプロパティ 'msie' を読み取れない - jQuery tools
-
[解決済み】 \u003C とは何ですか?
-
[解決済み】文字列をテキストファイルに出力する