strutil

package
v0.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 6, 2023 License: Apache-2.0 Imports: 27 Imported by: 0

README

String Util

This is a go string operate util package.

Install

go get github.com/zhangyiming748/pretty/strutil

Usage

ss := strutil.ToArray("a,b,c", ",")
// Output: []string{"a", "b", "c"}

ints, err := strutil.ToIntSlice("1,2,3")
// Output: []int{1, 2, 3}

Functions

func AddSlashes(s string) string
func AnyToString(val interface{}, defaultAsErr bool) (str string, err error)
func B32Decode(str string) string
func B32Encode(str string) string
func B64Decode(str string) string
func B64Encode(str string) string
func Base64(str string) string
func Bool(s string) (bool, error)
func Byte2str(b []byte) string
func Byte2string(b []byte) string
func BytePos(s string, bt byte) int
func Camel(s string, sep ...string) string
func CamelCase(s string, sep ...string) string
func Compare(s1, s2, op string) bool
func Cut(s, sep string) (before string, after string, found bool)
func EscapeHTML(s string) string
func EscapeJS(s string) string
func FilterEmail(s string) string
func GenMd5(src interface{}) string
func HasAllSubs(s string, subs []string) bool
func HasOnePrefix(s string, prefixes []string) bool
func HasOneSub(s string, subs []string) bool
func HasPrefix(s string, prefix string) bool
func HasSuffix(s string, suffix string) bool
func Implode(sep string, ss ...string) string
func Indent(s, prefix string) string
func IndentBytes(b, prefix []byte) []byte
func Int(s string) (int, error)
func Int64(s string) int64
func Int64OrErr(s string) (int64, error)
func Int64OrPanic(s string) int64
func IntOrPanic(s string) int
func Ints(s string, sep ...string) []int
func IsAlphaNum(c uint8) bool
func IsAlphabet(char uint8) bool
func IsBlank(s string) bool
func IsBlankBytes(bs []byte) bool
func IsEmpty(s string) bool
func IsEndOf(s, suffix string) bool
func IsNotBlank(s string) bool
func IsNumChar(c byte) bool
func IsNumeric(s string) bool
func IsSpace(c byte) bool
func IsSpaceRune(r rune) bool
func IsStartOf(s, prefix string) bool
func IsStartsOf(s string, prefixes []string) bool
func IsSymbol(r rune) bool
func IsValidUtf8(s string) bool
func IsVersion(s string) bool
func Join(sep string, ss ...string) string
func JoinList(sep string, ss []string) string
func LTrim(s string, cutSet ...string) string
func Lower(s string) string
func LowerFirst(s string) string
func Lowercase(s string) string
func Ltrim(s string, cutSet ...string) string
func MD5(src interface{}) string
func Md5(src interface{}) string
func MicroTimeHexID() string
func MicroTimeID() string
func MustBool(s string) bool
func MustCut(s, sep string) (before string, after string)
func MustInt(s string) int
func MustInt64(s string) int64
func MustString(in interface{}) string
func MustToTime(s string, layouts ...string) time.Time
func NoCaseEq(s, t string) bool
func PadLeft(s, pad string, length int) string
func PadRight(s, pad string, length int) string
func Padding(s, pad string, length int, pos uint8) string
func PrettyJSON(v interface{}) (string, error)
func QuietBool(s string) bool
func QuietInt(s string) int
func QuietInt64(s string) int64
func QuietString(in interface{}) string
func Quote(s string) string
func RTrim(s string, cutSet ...string) string
func RandomBytes(length int) ([]byte, error)
func RandomChars(ln int) string
func RandomCharsV2(ln int) string
func RandomCharsV3(ln int) string
func RandomString(length int) (string, error)
func RenderTemplate(input string, data interface{}, fns template.FuncMap, isFile ...bool) string
func RenderText(input string, data interface{}, fns template.FuncMap, isFile ...bool) string
func Repeat(s string, times int) string
func RepeatBytes(char byte, times int) (chars []byte)
func RepeatRune(char rune, times int) (chars []rune)
func Replaces(str string, pairs map[string]string) string
func Rtrim(s string, cutSet ...string) string
func RuneCount(s string) int
func RuneIsLower(c rune) bool
func RuneIsUpper(c rune) bool
func RuneIsWord(c rune) bool
func RunePos(s string, ru rune) int
func RuneWidth(r rune) int
func Similarity(s, t string, rate float32) (float32, bool)
func SnakeCase(s string, sep ...string) string
func Split(s, sep string) (ss []string)
func SplitInlineComment(val string) (string, string)
func SplitN(s, sep string, n int) (ss []string)
func SplitNTrimmed(s, sep string, n int) (ss []string)
func SplitNValid(s, sep string, n int) (ss []string)
func SplitTrimmed(s, sep string) (ss []string)
func SplitValid(s, sep string) (ss []string)
func StrPos(s, sub string) int
func String(val interface{}) (string, error)
func StringOrErr(val interface{}) (string, error)
func Strings(s string, sep ...string) []string
func StripSlashes(s string) string
func Substr(s string, pos, length int) string
func TextSplit(s string, w int) []string
func TextTruncate(s string, w int, tail string) string
func TextWidth(s string) int
func TextWrap(s string, w int) string
func Title(s string) string
func ToArray(s string, sep ...string) []string
func ToBool(s string) (bool, error)
func ToBytes(s string) (b []byte)
func ToDuration(s string) (time.Duration, error)
func ToInt(s string) (int, error)
func ToInt64(s string) (int64, error)
func ToIntSlice(s string, sep ...string) (ints []int, err error)
func ToInts(s string, sep ...string) ([]int, error)
func ToSlice(s string, sep ...string) []string
func ToString(val interface{}) (string, error)
func ToStrings(s string, sep ...string) []string
func ToTime(s string, layouts ...string) (t time.Time, err error)
func Trim(s string, cutSet ...string) string
func TrimCut(s, sep string) (string, string)
func TrimLeft(s string, cutSet ...string) string
func TrimRight(s string, cutSet ...string) string
func URLDecode(s string) string
func URLEncode(s string) string
func Unquote(s string) string
func Upper(s string) string
func UpperFirst(s string) string
func UpperWord(s string) string
func Uppercase(s string) string
func Utf8Len(s string) int
func Utf8Split(s string, w int) []string
func Utf8Truncate(s string, w int, tail string) string
func Utf8Width(s string) (size int)
func Utf8len(s string) int
func VersionCompare(v1, v2, op string) bool
func WidthWrap(s string, w int) string
func WrapTag(s, tag string) string

Code Check & Testing

gofmt -w -l ./
golint ./...

Testing:

go test -v ./strutil/...

Test limit by regexp:

go test -v -run ^TestSetByKeys ./strutil/...

Documentation

Overview

Package strutil provide some string,char,byte util functions

Index

Constants

View Source
const (
	Numbers   = "0123456789"
	AlphaBet  = "abcdefghijklmnopqrstuvwxyz"
	AlphaBet1 = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz"
	AlphaNum  = "abcdefghijklmnopqrstuvwxyz0123456789"
	AlphaNum2 = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
	AlphaNum3 = "0123456789AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz"
)

some consts string chars

Variables

View Source
var (
	ErrDateLayout   = errors.New("invalid date layout string")
	ErrInvalidParam = errors.New("invalid input parameter")
)
View Source
var (
	UpWords = UpperWord
	LoFirst = LowerFirst
	UpFirst = UpperFirst

	Snake = SnakeCase
)

methods aliases

View Source
var (
	DefMinInt = 1000
	DefMaxInt = 9999
)

global id:

https://github.com/rs/xid
https://github.com/satori/go.uuid

Equal check, alias of strings.EqualFold

Functions

func AddSlashes

func AddSlashes(s string) string

AddSlashes add slashes for the string.

func AnyToString

func AnyToString(val any, defaultAsErr bool) (str string, err error)

AnyToString convert value to string.

if defaultAsErr:

False will use fmt.Sprint convert complex type
True  will return error on fail.

func B32Decode

func B32Decode(str string) string

B32Decode base32 decode

func B32Encode

func B32Encode(str string) string

B32Encode base32 encode

func B64Decode

func B64Decode(str string) string

B64Decode base64 decode

func B64DecodeBytes

func B64DecodeBytes(str string) []byte

B64DecodeBytes base64 decode

func B64Encode

func B64Encode(str string) string

B64Encode base64 encode

func B64EncodeBytes

func B64EncodeBytes(src []byte) []byte

B64EncodeBytes base64 encode

func Bool

func Bool(s string) (bool, error)

Bool parse string to bool. like strconv.ParseBool()

func Byte2str

func Byte2str(b []byte) string

Byte2str convert bytes to string

func Byte2string

func Byte2string(b []byte) string

Byte2string convert bytes to string

func BytePos

func BytePos(s string, bt byte) int

BytePos alias of the strings.IndexByte

func Camel

func Camel(s string, sep ...string) string

Camel alias of the CamelCase

func CamelCase

func CamelCase(s string, sep ...string) string

CamelCase convert string to camel case.

Support:

"range_price" -> "rangePrice"
"range price" -> "rangePrice"
"range-price" -> "rangePrice"

func Compare

func Compare(s1, s2, op string) bool

Compare for two string.

func ContainsAll

func ContainsAll(s string, subs []string) bool

ContainsAll substr(s) in the given string. alias of HasAllSubs()

func ContainsOne

func ContainsOne(s string, subs []string) bool

ContainsOne substr(s) in the given string. alias of HasOneSub()

func Cut

func Cut(s, sep string) (before string, after string, found bool)

Cut same of the strings.Cut

func EscapeHTML

func EscapeHTML(s string) string

EscapeHTML escape html string

func EscapeJS

func EscapeJS(s string) string

EscapeJS escape javascript string

func FilterEmail

func FilterEmail(s string) string

FilterEmail filter email, clear invalid chars.

func FirstLine

func FirstLine(output string) string

FirstLine from command output

func GenMd5

func GenMd5(src any) string

GenMd5 Generate a 32-bit md5 string

func HasAllSubs

func HasAllSubs(s string, subs []string) bool

HasAllSubs all substr in the given string.

func HasEmpty

func HasEmpty(ss ...string) bool

HasEmpty value for input strings

func HasOnePrefix

func HasOnePrefix(s string, prefixes []string) bool

HasOnePrefix the string start withs one of the subs

func HasOneSub

func HasOneSub(s string, subs []string) bool

HasOneSub substr(s) in the given string.

func HasPrefix

func HasPrefix(s string, prefix string) bool

HasPrefix substr in the given string.

func HasSuffix

func HasSuffix(s string, suffix string) bool

HasSuffix substr in the given string.

func HashPasswd

func HashPasswd(pwd, key string) string

HashPasswd for quick hash an input password string

func IContains

func IContains(s string, sub string) bool

IContains ignore case check substr in the given string.

func IEqual

func IEqual(s1 string, s2 string) bool

IEqual ignore case check given two string is equals.

func Implode

func Implode(sep string, ss ...string) string

Implode alias of strings.Join

func Indent

func Indent(s, prefix string) string

Indent inserts prefix at the beginning of each non-empty line of s. The end-of-line marker is NL.

func IndentBytes

func IndentBytes(b, prefix []byte) []byte

IndentBytes inserts prefix at the beginning of each non-empty line of b. The end-of-line marker is NL.

func Int

func Int(s string) (int, error)

Int convert string to int, alias of ToInt()

func Int2

func Int2(s string) int

Int2 convert string to int, will ignore error

func Int64

func Int64(s string) int64

Int64 convert string to int, will ignore error

func Int64OrErr

func Int64OrErr(s string) (int64, error)

Int64OrErr convert string to int, return error on fail

func Int64OrPanic

func Int64OrPanic(s string) int64

Int64OrPanic convert value to int, will panic on error

func IntOrPanic

func IntOrPanic(s string) int

IntOrPanic convert value to int, will panic on error

func Ints

func Ints(s string, sep ...string) []int

Ints alias of the ToIntSlice(). default sep is comma(,)

func IsAllEmpty

func IsAllEmpty(ss ...string) bool

IsAllEmpty for input strings

func IsAlphaNum

func IsAlphaNum(c uint8) bool

IsAlphaNum reports whether the byte is an ASCII letter, number, or underscore

func IsAlphabet

func IsAlphabet(char uint8) bool

IsAlphabet char

func IsBlank

func IsBlank(s string) bool

IsBlank returns true if the given string is all space characters.

func IsBlankBytes

func IsBlankBytes(bs []byte) bool

IsBlankBytes returns true if the given []byte is all space characters.

func IsEmpty

func IsEmpty(s string) bool

IsEmpty returns true if the given string is empty.

func IsEndOf

func IsEndOf(s, suffix string) bool

IsEndOf alias of the strings.HasSuffix

func IsNotBlank

func IsNotBlank(s string) bool

IsNotBlank returns true if the given string is not blank.

func IsNumChar

func IsNumChar(c byte) bool

IsNumChar returns true if the given character is a numeric, otherwise false.

func IsNumeric

func IsNumeric(s string) bool

IsNumeric returns true if the given string is a numeric, otherwise false.

func IsSpace

func IsSpace(c byte) bool

IsSpace returns true if the given character is a space, otherwise false.

func IsSpaceRune

func IsSpaceRune(r rune) bool

IsSpaceRune returns true if the given rune is a space, otherwise false.

func IsStartOf

func IsStartOf(s, prefix string) bool

IsStartOf alias of the strings.HasPrefix

func IsStartsOf

func IsStartsOf(s string, prefixes []string) bool

IsStartsOf alias of the HasOnePrefix

func IsSymbol

func IsSymbol(r rune) bool

IsSymbol reports whether the rune is a symbolic character.

func IsValidUtf8

func IsValidUtf8(s string) bool

IsValidUtf8 valid utf8 string check

func IsVersion

func IsVersion(s string) bool

IsVersion number. eg: 1.2.0

func Join

func Join(sep string, ss ...string) string

Join alias of strings.Join

func JoinAny

func JoinAny(sep string, parts ...any) string

JoinAny type to string

func JoinList

func JoinList(sep string, ss []string) string

JoinList alias of strings.Join

func LTrim

func LTrim(s string, cutSet ...string) string

LTrim alias of TrimLeft

func Lower

func Lower(s string) string

Lower alias of the strings.ToLower()

func LowerFirst

func LowerFirst(s string) string

LowerFirst lower first char

func Lowercase

func Lowercase(s string) string

Lowercase alias of the strings.ToLower()

func Ltrim

func Ltrim(s string, cutSet ...string) string

Ltrim alias of TrimLeft

func MD5

func MD5(src any) string

MD5 Generate a 32-bit md5 string

func Md5

func Md5(src any) string

Md5 Generate a 32-bit md5 string

func Md5Bytes

func Md5Bytes(src any) []byte

Md5Bytes Generate a 32-bit md5 bytes

func MicroTimeHexID

func MicroTimeHexID() string

MicroTimeHexID generate. return like: 5b5f0588af1761ad3(len: 16-17)

func MicroTimeID

func MicroTimeID() string

MicroTimeID generate. return like: 16074145697981929446(len: 20)

func MustBool

func MustBool(s string) bool

MustBool convert, will panic on error

func MustCut

func MustCut(s, sep string) (before string, after string)

MustCut always returns two substring.

func MustInt

func MustInt(s string) int

MustInt convert string to int, will panic on error

func MustInt64

func MustInt64(s string) int64

MustInt64 convert value to int, will panic on error

func MustString

func MustString(in any) string

MustString convert value to string, TODO will panic on error

func MustToTime

func MustToTime(s string, layouts ...string) time.Time

MustToTime convert date string to time.Time

func NoCaseEq

func NoCaseEq(s, t string) bool

NoCaseEq check two strings is equals and case-insensitivity

func OrCond

func OrCond(cond bool, s1, s2 string) string

OrCond return s1 on cond is True, OR return s2.

func OrElse

func OrElse(s, newVal string) string

OrElse return s OR nv(new-value) on s is empty

func OrHandle

func OrHandle(s string, fn func(s string) string) string

OrHandle return fn(s) on s is not empty.

func PadBytes

func PadBytes(bs []byte, pad byte, length int, pos PosFlag) []byte

PadBytes padding a byte to want length and with position flag

func PadBytesLeft

func PadBytesLeft(bs []byte, pad byte, length int) []byte

PadBytesLeft a byte to want length

func PadBytesRight

func PadBytesRight(bs []byte, pad byte, length int) []byte

PadBytesRight a byte to want length

func PadChars

func PadChars[T byte | rune](cs []T, pad T, length int, pos PosFlag) []T

PadChars padding a rune/byte to want length and with position flag

func PadLeft

func PadLeft(s, pad string, length int) string

PadLeft a string.

func PadRight

func PadRight(s, pad string, length int) string

PadRight a string.

func PadRunes

func PadRunes(rs []rune, pad rune, length int, pos PosFlag) []rune

PadRunes padding a rune to want length and with position flag

func PadRunesLeft

func PadRunesLeft(rs []rune, pad rune, length int) []rune

PadRunesLeft a rune to want length

func PadRunesRight

func PadRunesRight(rs []rune, pad rune, length int) []rune

PadRunesRight a rune to want length

func Padding

func Padding(s, pad string, length int, pos PosFlag) string

Padding a string.

func PrettyJSON

func PrettyJSON(v any) (string, error)

PrettyJSON get pretty Json string Deprecated: please use fmtutil.PrettyJSON() or jsonutil.Pretty() instead it

func QuietBool

func QuietBool(s string) bool

QuietBool convert to bool, will ignore error

func QuietCut

func QuietCut(s, sep string) (before string, after string)

QuietCut always returns two substring.

func QuietInt

func QuietInt(s string) int

QuietInt convert string to int, will ignore error

func QuietInt64

func QuietInt64(s string) int64

QuietInt64 convert string to int, will ignore error

func QuietString

func QuietString(in any) string

QuietString convert value to string, will ignore error

func Quote

func Quote(s string) string

Quote alias of strings.Quote

func RTrim

func RTrim(s string, cutSet ...string) string

RTrim alias of TrimRight

func RandomBytes

func RandomBytes(length int) ([]byte, error)

RandomBytes generate

func RandomChars

func RandomChars(ln int) string

RandomChars generate give length random chars at `a-z`

func RandomCharsV2

func RandomCharsV2(ln int) string

RandomCharsV2 generate give length random chars in `0-9a-z`

func RandomCharsV3

func RandomCharsV3(ln int) string

RandomCharsV3 generate give length random chars in `0-9a-zA-Z`

func RandomString

func RandomString(length int) (string, error)

RandomString generate. Example:

	// this will give us a 44 byte, base64 encoded output
	token, err := RandomString(32)
	if err != nil {
    // Serve an appropriately vague error to the
    // user, but log the details internally.
	}

func RenderTemplate

func RenderTemplate(input string, data any, fns template.FuncMap, isFile ...bool) string

RenderTemplate render text template

func RenderText

func RenderText(input string, data any, fns template.FuncMap, isFile ...bool) string

RenderText render text template

func Repeat

func Repeat(s string, times int) string

Repeat a string

func RepeatBytes

func RepeatBytes(char byte, times int) []byte

RepeatBytes repeat a byte char.

func RepeatChars

func RepeatChars[T byte | rune](char T, times int) []T

RepeatChars repeat a byte char.

func RepeatRune

func RepeatRune(char rune, times int) []rune

RepeatRune repeat a rune char.

func Replaces

func Replaces(str string, pairs map[string]string) string

Replaces replace multi strings

pairs: {old1: new1, old2: new2, ...}

Can also use:

strings.NewReplacer("old1", "new1", "old2", "new2").Replace(str)

func Resize

func Resize(s string, length int, align PosFlag) string

Resize a string by given length and align settings. padding space.

func Rtrim

func Rtrim(s string, cutSet ...string) string

Rtrim alias of TrimRight

func RuneCount

func RuneCount(s string) int

RuneCount of the string

func RuneIsLower

func RuneIsLower(c rune) bool

RuneIsLower char

func RuneIsUpper

func RuneIsUpper(c rune) bool

RuneIsUpper char

func RuneIsWord

func RuneIsWord(c rune) bool

RuneIsWord char: a-zA-Z

func RunePos

func RunePos(s string, ru rune) int

RunePos alias of the strings.IndexRune

func RuneWidth

func RuneWidth(r rune) int

RuneWidth of the rune.

Example:

RuneWidth('你') // 2
RuneWidth('a') // 1
RuneWidth('\n') // 0

func RunesWidth

func RunesWidth(rs []rune) (w int)

RunesWidth utf8 runes string width.

Examples:

str := "hi,你好"

strutil.Utf8Width(str)	=> 7
len(str) => 9
len([]rune(str)) = utf8.RuneCountInString(s) => 5

func Similarity

func Similarity(s, t string, rate float32) (float32, bool)

Similarity calc for two string. Usage:

rate, ok := Similarity("hello", "he")

func SnakeCase

func SnakeCase(s string, sep ...string) string

SnakeCase convert. eg "RangePrice" -> "range_price"

func Split

func Split(s, sep string) (ss []string)

Split string to slice. will trim each item and filter empty string node.

func SplitInlineComment

func SplitInlineComment(val string) (string, string)

SplitInlineComment for a text string.

func SplitN

func SplitN(s, sep string, n int) (ss []string)

SplitN string to slice. will filter empty string node.

func SplitNTrimmed

func SplitNTrimmed(s, sep string, n int) (ss []string)

SplitNTrimmed split string to slice. will trim space for each node, but not filter empty

func SplitNValid

func SplitNValid(s, sep string, n int) (ss []string)

SplitNValid string to slice. will filter empty string node.

func SplitTrimmed

func SplitTrimmed(s, sep string) (ss []string)

SplitTrimmed split string to slice. will trim space for each node, but not filter empty

func SplitValid

func SplitValid(s, sep string) (ss []string)

SplitValid string to slice. will trim each item and filter empty string node.

func StrPos

func StrPos(s, sub string) int

StrPos alias of the strings.Index

func String

func String(val any) (string, error)

String convert val to string

func StringOrErr

func StringOrErr(val any) (string, error)

StringOrErr convert value to string, return error on failed

func Strings

func Strings(s string, sep ...string) []string

Strings alias of the ToSlice()

func StripSlashes

func StripSlashes(s string) string

StripSlashes strip slashes for the string.

func Substr

func Substr(s string, pos, length int) string

Substr for a string. if length <= 0, return pos to end.

func SubstrCount

func SubstrCount(s string, substr string, params ...uint64) (int, error)

SubstrCount returns the number of times the substr substring occurs in the s string. Actually, it comes from strings.Count(). s The string to search in substr The substring to search for params[0] The offset where to start counting. params[1] The maximum length after the specified offset to search for the substring.

func TextSplit

func TextSplit(s string, w int) []string

TextSplit alias of the Utf8Split()

func TextTruncate

func TextTruncate(s string, w int, tail string) string

TextTruncate alias of the Utf8Truncate()

func TextWidth

func TextWidth(s string) int

TextWidth utf8 string width. alias of RunesWidth()

func TextWrap

func TextWrap(s string, w int) string

TextWrap a string by "\n"

func Title

func Title(s string) string

Title alias of the strings.ToTitle()

func ToArray

func ToArray(s string, sep ...string) []string

ToArray alias of the ToSlice()

func ToBool

func ToBool(s string) (bool, error)

ToBool convert string to bool

func ToBytes

func ToBytes(s string) (b []byte)

ToBytes convert string to bytes

func ToDuration

func ToDuration(s string) (time.Duration, error)

ToDuration parses a duration string. such as "300ms", "-1.5h" or "2h45m". Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".

func ToInt

func ToInt(s string) (int, error)

ToInt convert string to int, return error on fail

func ToInt64

func ToInt64(s string) (int64, error)

ToInt64 convert string to int, return error on fail

func ToIntSlice

func ToIntSlice(s string, sep ...string) (ints []int, err error)

ToIntSlice split string to slice and convert item to int.

Default sep is comma(,)

func ToInts

func ToInts(s string, sep ...string) ([]int, error)

ToInts alias of the ToIntSlice(). default sep is comma(,)

func ToSlice

func ToSlice(s string, sep ...string) []string

ToSlice split string to array.

func ToString

func ToString(val any) (string, error)

ToString convert value to string

func ToStrings

func ToStrings(s string, sep ...string) []string

ToStrings alias of the ToSlice()

func ToTime

func ToTime(s string, layouts ...string) (t time.Time, err error)

ToTime convert date string to time.Time

func Trim

func Trim(s string, cutSet ...string) string

Trim string. if cutSet is empty, will trim SPACE.

func TrimCut

func TrimCut(s, sep string) (string, string)

TrimCut always returns two substring and trim space for items.

func TrimLeft

func TrimLeft(s string, cutSet ...string) string

TrimLeft char in the string. if cutSet is empty, will trim SPACE.

func TrimRight

func TrimRight(s string, cutSet ...string) string

TrimRight char in the string. if cutSet is empty, will trim SPACE.

func URLDecode

func URLDecode(s string) string

URLDecode decode url string.

func URLEncode

func URLEncode(s string) string

URLEncode encode url string.

func Unquote

func Unquote(s string) string

Unquote remove start and end quotes by single-quote or double-quote

func Upper

func Upper(s string) string

Upper alias of the strings.ToUpper()

func UpperFirst

func UpperFirst(s string) string

UpperFirst upper first char

func UpperWord

func UpperWord(s string) string

UpperWord Change the first character of each word to uppercase

func Uppercase

func Uppercase(s string) string

Uppercase alias of the strings.ToUpper()

func Utf8Len

func Utf8Len(s string) int

Utf8Len count of the string

func Utf8Split

func Utf8Split(s string, w int) []string

Utf8Split split a string by width.

func Utf8Truncate

func Utf8Truncate(s string, w int, tail string) string

Utf8Truncate a string with given width.

func Utf8Width

func Utf8Width(s string) int

Utf8Width utf8 string width. alias of RunesWidth

func Utf8len

func Utf8len(s string) int

Utf8len of the string

func Valid

func Valid(ss ...string) string

Valid return first not empty element.

func VerifyPasswd

func VerifyPasswd(pwdMAC, pwd, key string) bool

VerifyPasswd for quick verify input password is valid

- pwdMAC from db or config, generated by EncryptPasswd()

func VersionCompare

func VersionCompare(v1, v2, op string) bool

VersionCompare for two version string.

func WidthWrap

func WidthWrap(s string, w int) string

WidthWrap a string by "\n"

func WordWrap

func WordWrap(s string, w int) string

WordWrap text string and limit width.

func WrapTag

func WrapTag(s, tag string) string

WrapTag for given string.

Types

type BaseEncoder

type BaseEncoder interface {
	Encode(dst []byte, src []byte)
	EncodeToString(src []byte) string
	Decode(dst []byte, src []byte) (n int, err error)
	DecodeString(s string) ([]byte, error)
}

BaseEncoder interface

func Encoding

func Encoding(base int, typ BaseType) BaseEncoder

Encoding instance

type BaseType

type BaseType uint8

BaseType for base encoding

const (
	BaseTypeStd BaseType = iota
	BaseTypeHex
	BaseTypeURL
	BaseTypeRawStd
	BaseTypeRawURL
)

types for base encoding

type Buffer

type Buffer = byteutil.Buffer

Buffer wrap and extends the bytes.Buffer

func NewBuffer

func NewBuffer() *Buffer

NewBuffer instance

type ByteChanPool

type ByteChanPool = byteutil.ChanPool

ByteChanPool struct

Usage:

bp := strutil.NewByteChanPool(500, 1024, 1024)
buf:=bp.Get()
defer bp.Put(buf)
// use buf do something ...

func NewByteChanPool

func NewByteChanPool(maxSize, width, capWidth int) *ByteChanPool

NewByteChanPool instance

type PosFlag

type PosFlag uint8

PosFlag type

const (
	PosLeft PosFlag = iota
	PosRight
	PosMiddle
)

Position for padding/resize string

type Runes

type Runes []rune

Runes data slice

func (Runes) PadLeft

func (rs Runes) PadLeft(pad rune, length int) []rune

PadLeft a rune to want length

func (Runes) PadRight

func (rs Runes) PadRight(pad rune, length int) []rune

PadRight a rune to want length

func (Runes) Padding

func (rs Runes) Padding(pad rune, length int, pos PosFlag) []rune

Padding a rune to want length and with position

type SimilarComparator

type SimilarComparator struct {
	// contains filtered or unexported fields
}

SimilarComparator definition links:

https://github.com/mkideal/cli/blob/master/fuzzy.go

func NewComparator

func NewComparator(src, dst string) *SimilarComparator

NewComparator create

func (*SimilarComparator) Similar

func (c *SimilarComparator) Similar(minDifferRate float32) (float32, bool)

Similar by minDifferRate Usage:

c := NewComparator("hello", "he")
rate, ok :c.Similar(0.3)

type StrVal

type StrVal = Value

StrVal string. alias of Value

type Value

type Value string

Value string

func (Value) Bool

func (s Value) Bool() bool

Bool convert

func (Value) Bytes

func (s Value) Bytes() []byte

Bytes string to bytes

func (Value) HasPrefix

func (s Value) HasPrefix(sub string) bool

HasPrefix prefix

func (Value) HasSuffix

func (s Value) HasSuffix(sub string) bool

HasSuffix suffix

func (Value) Int

func (s Value) Int() int

Int convert

func (Value) Int64

func (s Value) Int64() int64

Int64 convert

func (Value) IsBlank

func (s Value) IsBlank() bool

IsBlank check

func (Value) IsEmpty

func (s Value) IsEmpty() bool

IsEmpty check

func (Value) IsEndWith

func (s Value) IsEndWith(sub string) bool

IsEndWith suffix

func (Value) IsStartWith

func (s Value) IsStartWith(sub string) bool

IsStartWith prefix

func (Value) OrElse

func (s Value) OrElse(or string) string

OrElse string

func (*Value) Set

func (s *Value) Set(val string) error

Set value

func (Value) Split

func (s Value) Split(sep string) []string

Split string

func (Value) SplitN

func (s Value) SplitN(sep string, n int) []string

SplitN string

func (Value) String

func (s Value) String() string

Value string

func (Value) Val

func (s Value) Val() string

Val string

func (Value) WithTrimSpace

func (s Value) WithTrimSpace() Value

WithTrimSpace string and return new

Directories

Path Synopsis
Package secutil provide some security utils
Package secutil provide some security utils
Package textscan Implemented a parser that quickly scans and analyzes text content.
Package textscan Implemented a parser that quickly scans and analyzes text content.
Package textutil provide some extra text handle util
Package textutil provide some extra text handle util

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL