divider logo@nyaomaru/divider
divider logo

Divider で、簡単に文字列と配列を分割できます

文字列や配列を複数の方法で分割するための軽量ユーティリティ・ライブラリです。

インストール

npm

npm install @nyaomaru/divider

使い方

basic

import { divider } from '@nyaomaru/divider';
// divide a string by index position
const helloArray = divider('hello', 1, 3);
// ['h', 'el', 'lo']
const [hello1, hello2, ...restHello] = divider('hello', 1, 3, 4);
// hello1 = 'h'
// hello2 = 'el'
// restHello = ['l', 'o']
// split string using character delimiter
const divideWithString = divider('hello', 'e');
// ['h', 'llo']
const divideWithMultipleString = divider('hello', 'l');
// ['he', 'o']
// divide the array of strings
const words = ['hello', 'world'];
const dividedWords = divider(words, 2);
// [['he', 'llo'], ['wo', 'rld']]
const dividedWordsWithFlattenOption = divider(words, 2, { flatten: true });
// ['he', 'llo', 'wo', 'rld']
const dividedWithTrimOption = divider([' hello ', ' world '], 2, { trim: true });
// ['h', 'ello', 'w', 'orld']

機能

文字列分割

シンプルなAPIで、インデックス位置や文字区切りで文字列を分割します。

配列処理

同じ直感的なインターフェイスで文字列の配列を処理します。

ネストされた配列

ネストされた配列をサポートしており、複雑なデータ構造を扱うことができます。

柔軟な出力

結果を配列として取得するか、個々の変数に対してデストラクチャリングを使用できます。

フラットオプション

フラットオプションを用いることで取得結果を単純化し、単一レベルの配列を得ることができます。

混合区切り

インデックス位置と文字区切りを同じ操作で結合できます。

API リファレンス

divider(input, ...dividers, options?)

文字列または文字列配列を指定された区切りで分割し、配列またはネストされた配列として返します。

Parameters:

  • input : String か Array
  • dividers : 数値 (インデックス位置) または文字列 (文字区切り)
  • options : 任意設定のオプション

Options:

  • flatten : Boolean - trueの場合、結果を1つの配列にフラット化します。
  • trim : Boolean - trueの場合、結果に含まれる空白をトリムします。
  • exclude : `'none' | 'empty' | 'whitespace'` - 結果から空のセグメントや空白を除外する方法を指定します。

dividerFirst(input, ...dividers)

分割された文字列の最初の要素を返します。

Parameters:

  • input : String か Array
  • dividers : 数値 (インデックス位置) または文字列 (文字区切り)

dividerLast(input, ...dividers)

分割された文字列の最後の要素を返します。

Parameters:

  • input : String か Array
  • dividers : 数値 (インデックス位置) または文字列 (文字区切り)

dividerLoop(input, size, options?)

固定幅のチャンクサイズで文字列を分割します。一定の文字数でスライスしたいときに便利です。

Parameters:

  • input : String か Array
  • size : 各チャンクのサイズ(文字数)を指定します。正の整数である必要があります。
  • options : 任意設定のオプション

Options:

  • flatten : Boolean - trueの場合、結果を1つの配列にフラット化します。
  • trim : Boolean - trueの場合、結果に含まれる空白をトリムします。
  • exclude : `'none' | 'empty' | 'whitespace'` - 結果から空のセグメントや空白を除外する方法を指定します。
  • startOffset : Number - 分割する際の開始インデックスオフセット(`dividerLoop` のみ)
  • maxChunks : Number - 許可される最大チャンク数。余分なチャンクは最後のチャンクに結合されます。

dividerNumberString(input, options?)

数値と文字列を分割します。

Parameters:

  • input : String か Array
  • options : 任意設定のオプション

Options:

  • flatten : Boolean - trueの場合、結果を1つの配列にフラット化します。
  • trim : Boolean - trueの場合、結果に含まれる空白をトリムします。
  • exclude : `'none' | 'empty' | 'whitespace'` - 結果から空のセグメントや空白を除外する方法を指定します。

プリセット

Divider の上に構築された一般的な実務で利用する想定のプリセットです。

emailDivider()

メールアドレスをローカル部分とドメイン部分に分割し、オプションで TLD 分割を行います。

csvDivider()

引用符付きフィールドサポート、カスタム区切り文字/引用符、およびトリミング機能を備えたCSV対応の分割処理です。

pathDivider()

ファイルパスを `/` または `|` で分割し、空のセグメントをトリムまたは保持するオプションがあります。