GoLang mb_substr

is this article helpful? yes | no
GoLang replacement for PHP's mb_substr [edit | history]
Just convert it to a slice of runes first, slice, then convert the result back:


// get 3 first
string([]rune(str)[:3]) //returns абв
// get from 1 (included) to 4 (not included)
fmt.Println(string([]rune(str)[1:4])) // returns бвг

PHP mb_substr

PHP original manual for mb_substr [ show | php.net ]


(PHP 4 >= 4.0.6, PHP 5, PHP 7)

mb_substrGet part of string


string mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] )

Performs a multi-byte safe substr() operation based on number of characters. Position is counted from the beginning of str. First character's position is 0. Second character position is 1, and so on.



The string to extract the substring from.


If start is non-negative, the returned string will start at the start'th position in str, counting from zero. For instance, in the string 'abcdef', the character at position 0 is 'a', the character at position 2 is 'c', and so forth.

If start is negative, the returned string will start at the start'th character from the end of str.


Maximum number of characters to use from str. If omitted or NULL is passed, extract all characters to the end of the string.


The encoding parameter is the character encoding. If it is omitted, the internal character encoding value will be used.

Return Values

mb_substr() returns the portion of str specified by the start and length parameters.


Version Description
5.4.8 Passing NULL as length extracts all characters to the end of the string. Prior to this version NULL was treated the same as 0.

See Also