Slice a string based on grapheme cluster (i.e., user-perceived character) indices.
var sliceGraphemeClusters = require( '@stdlib/string/base/slice-grapheme-clusters' );
Slices a string based on grapheme cluster (i.e., user-perceived character) indices.
var out = sliceGraphemeClusters( 'Hello World', 0, 5 );
// returns 'Hello'
out = sliceGraphemeClusters( '👋👋👋', 0, 2 );
// returns '👋👋'
out = sliceGraphemeClusters( '六书/六書', 1, 5 );
// returns '书/六書'
out = sliceGraphemeClusters( '🌷🍕👉🏿', 1, 2 );
// returns '🍕'
The function accepts the following arguments:
- str: input string.
- start: the
ith
grapheme cluster to start a slice (inclusive). - end: the
jth
grapheme cluster to end a slice (exclusive).
var sliceGraphemeClusters = require( '@stdlib/string/base/slice-grapheme-clusters' );
console.log( sliceGraphemeClusters( 'Hello World', 0, 5 ) );
// => 'Hello'
console.log( sliceGraphemeClusters( 'Hello World', -5, -1 ) );
// => 'Worl'
console.log( sliceGraphemeClusters( '👋👋👋', 0, 2 ) );
// => '👋👋'
console.log( sliceGraphemeClusters( '六书/六書', 1, 5 ) );
// => '书/六書'
console.log( sliceGraphemeClusters( '👨👩👧👦👨👩👧👦👨👩👧👦', 0, 2 ) );
// => '👨👩👧👦👨👩👧👦'