strings

package module
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Nov 12, 2024 License: MIT Imports: 8 Imported by: 0

README

strings

String manipulation functions primarily used by the goradd framework.

Documentation

Index

Examples

Constants

View Source
const AlphaAll = AlphaLower + AlphaUpper + AlphaNum
View Source
const AlphaLower = "abcdefghijklmnopqrstuvwxyz"
View Source
const AlphaNum = "0123456789"
View Source
const AlphaUpper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
View Source
const PasswordLower = "abcdefghijkmnopqrstuvwxyz"
View Source
const PasswordNum = "23456789"
View Source
const PasswordSym = "!@#%?+=_"
View Source
const PasswordUpper = "ABCDEFGHJKLMNPQRSTUVWXYZ"
View Source
const Token68 = AlphaAll + "-._~+/"

Variables

This section is empty.

Functions

func AtoI

func AtoI[T constraints.Integer](s string) T

AtoI is a convenience script for converting a string to various types of signed integers. An invalid input will return zero, including if the input overflows the max size of the integer type.

Example
i := AtoI[uint8]("23")
fmt.Println(i)
Output:

23

func CamelToKebab

func CamelToKebab(camelCase string) string

CamelToKebab converts capitalize from CamelCase to kebab-case. If it encounters a character that is not legitimate camel case, it ignores it (like numbers, spaces, etc.). Runs of upper case letters are treated as one word.

Example
a := CamelToKebab("AbcDef")
fmt.Println(a)
b := CamelToKebab("AbcDEFghi")
fmt.Println(b)
Output:

abc-def
abc-de-fghi

func CamelToSnake

func CamelToSnake(camelCase string) string

CamelToSnake converts camelCase from CamelCase to snake_case. If it encounters a character that is not legitimate camel case, it ignores it (like numbers, spaces, etc.). Runs of upper case letters are treated as one word. A run of upper case, followed by lower case letters will be treated as if the final character in the upper case run belongs with the lower case letters.

Example
a := CamelToSnake("AbcDef")
fmt.Println(a)
b := CamelToSnake("AbcDEFghi")
fmt.Println(b)
Output:

abc_def
abc_de_fghi

func Connect

func Connect(sep string, items ...string) string

Connect joins strings together with the separator sep. Only strings that are not empty strings are joined.

Example
a := Connect("+", "this", "", "that")
fmt.Println(a)
Output:

this+that

func ContainsAnyStrings

func ContainsAnyStrings(haystack string, needles ...string) bool

ContainsAnyStrings returns true if the haystack contains any of the needles

func CryptoString

func CryptoString(source string, n int) string

CryptoString returns a cryptographically secure random string from the given source. Use AlphaAll, AlphaUpper, AlphaLower, or AlphaNum as shortcuts for source.

func Decap added in v0.2.0

func Decap(s string) string

Decap returns a new string with the first character in the string set to its lower case equivalent.

func EndsWith

func EndsWith(s string, ending string) bool

EndsWith returns true if the string ends with the ending string.

func ExtractNumbers

func ExtractNumbers(in string) string

ExtractNumbers returns a string with the digits contained in the given string.

Example
a := ExtractNumbers("a1b2 c3")
fmt.Println(a)
Output:

123

func HasCharType

func HasCharType(s string, wantUpper, wantLower, wantDigit, wantPunc, wantSymbol bool) bool

HasCharType returns true if the given string has at least one of the selected char types.

func HasNull

func HasNull(s string) bool

HasNull returns true if the given string has a null character in it. Null characters are highly unusual in a string, and can indicate that an attempt is being made to plant hidden data into storage.

func HasOnlyLetters

func HasOnlyLetters(s string) bool

HasOnlyLetters will return false if any of the characters in the string do not pass the unicode.IsLetter test.

func If

func If(cond bool, trueVal, falseVal string) string

If is like the ternary operator ?. It returns the first string on true, and the second on false.

func Indent

func Indent(s string) string

Indent will indent every line of the string with a tab

func IsASCII

func IsASCII(s string) bool

IsASCII returns true if the string contains only ascii characters

func IsFloat

func IsFloat(s string) bool

IsFloat returns true if the given string is a floating point number. Allows the string to start with a + or -.

func IsInt

func IsInt(s string) bool

IsInt returns true if the given string is an integer. Allows the string to start with a + or -.

func IsUTF8

func IsUTF8(s string) bool

IsUTF8 returns true if the given string only contains valid UTF-8 characters

func IsUTF8Bytes

func IsUTF8Bytes(b []byte) bool

IsUTF8Bytes returns true if the given byte array only contains valid UTF-8 characters

func KebabToCamel

func KebabToCamel(s string) string

KebabToCamel convert string s from kebab-case to CamelCase. The initial case of s does not affect the output.

Example
a := KebabToCamel("abc-def")
fmt.Println(a)
Output:

AbcDef

func PasswordString

func PasswordString(n int) string

PasswordString generates a pseudo random password with the given length using characters that are common in passwords. We attempt to leave out letters that are easily visually confused.

Specific letters excluded are lowercase l, upper case I and the number 1, upper case O and the number 0. Also, only easily identifiable and describable symbols are used.

It tries to protect against accidentally creating an easily guessed value by making sure the password has at least one lower-case letter, one upper-case letter, one number, and one symbol. n must be at least 4, or an empty string will be returned.

func RandomString

func RandomString(source string, n int) string

RandomString generates a pseudo random string of the given length using the given characters. The distribution is not perfect, but works for general purposes.

func ReplaceStrings

func ReplaceStrings(s string, searchList []string, replaceList []string) string

ReplaceStrings is a memory efficient string replacer, replacing every string in the searchList with the matching string in the replaceList.

func SnakeToKebab

func SnakeToKebab(s string) string

SnakeToKebab converts s from snake_case to kebab-case. Only the underscores are impacted, the case of the rest of s is passed through unchanged.

Example
a := SnakeToKebab("abc_def")
fmt.Println(a)
Output:

abc-def

func StartsWith

func StartsWith(s string, beginning string) bool

StartsWith returns true if the string begins with the beginning string.

func StripNewlines

func StripNewlines(s string) string

StripNewlines removes all newline characters from a string.

func StripNulls

func StripNulls(s string) string

StripNulls removes null characters from a string. Null characters are highly unusual in a string and may indicate an attempt to plant hidden information.

func Title

func Title(s string) string

Title is a more advanced titling operation. It will convert underscores to spaces, and add spaces to CamelCase words.

Example
a := Title("do_i_seeYou")
fmt.Println(a)
Output:

Do I See You

Types

This section is empty.

Jump to

Keyboard shortcuts

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