string - Plugin operators
This page lists all operators available in the strings sub-package of ro.
This documentation is still new and evolving. If you spot any mistakes, unclear explanations, or missing details, please open an issue.
Your feedback helps us improve!
Installโ
First, import the sub-package in your project:
go get -u github.com/samber/ro/plugins/strings
CamelCaseโ
Converts string to camel case.
import ("github.com/samber/ro"rostrings "github.com/samber/ro/plugins/strings")obs := ro.Pipe[string, string](ro.Just("hello_world_world"),rostrings.CamelCase[string](),)sub := obs.Subscribe(ro.PrintObserver[string]())defer sub.Unsubscribe()// Next: helloWorldWorld// CompletedCamelCaseWithLanguage
Converts the string to camel case using locale-aware casing.
import ("github.com/samber/ro"rostrings "github.com/samber/ro/plugins/strings""golang.org/x/text/language")obs := ro.Pipe[string, string](ro.Just("Istanbul city"),rostrings.CamelCaseWithLanguage[string](language.Turkish),)sub := obs.Subscribe(ro.PrintObserver[string]())defer sub.Unsubscribe()// Next: ฤฑstanbulCity// CompletedVariant:Similar:Prototypes:func CamelCase[T ~string]()func CamelCaseWithLanguage[T ~string](tag language.Tag)PascalCaseโ
Converts each string emitted by the source Observable to PascalCase (UpperCamelCase).
import ("github.com/samber/ro"rostrings "github.com/samber/ro/plugins/strings")obs := ro.Pipe[string, string](ro.Just("hello_world", "foo-bar", "some string"),rostrings.PascalCase[string](),)sub := obs.Subscribe(ro.PrintObserver[string]())defer sub.Unsubscribe()// Next: HelloWorld// Next: FooBar// Next: SomeString// CompletedPascalCaseWithLanguage
Converts the string to pascal case using locale-aware casing.
import ("github.com/samber/ro"rostrings "github.com/samber/ro/plugins/strings""golang.org/x/text/language")obs := ro.Pipe[string, string](ro.Just("istanbul city"),rostrings.PascalCaseWithLanguage[string](language.Turkish),)sub := obs.Subscribe(ro.PrintObserver[string]())defer sub.Unsubscribe()// Next: ฤฐstanbulCity// CompletedVariant:Prototypes:func PascalCase[T ~string]()func PascalCaseWithLanguage[T ~string](tag language.Tag)Capitalizeโ
Capitalizes first letter of string.
import ("github.com/samber/ro"rostrings "github.com/samber/ro/plugins/strings")obs := ro.Pipe[string, string](ro.Just("hello world"),rostrings.Capitalize[string](),)sub := obs.Subscribe(ro.PrintObserver[string]())defer sub.Unsubscribe()// Next: Hello world// CompletedCapitalizeWithLanguage
Capitalizes the first letter using locale-aware casing.
import ("github.com/samber/ro"rostrings "github.com/samber/ro/plugins/strings""golang.org/x/text/language")obs := ro.Pipe[string, string](ro.Just("istanbul"),rostrings.CapitalizeWithLanguage[string](language.Turkish),)sub := obs.Subscribe(ro.PrintObserver[string]())defer sub.Unsubscribe()// Next: ฤฐstanbul// CompletedVariant:Similar:Prototypes:func Capitalize[T ~string]()func CapitalizeWithLanguage[T ~string](tag language.Tag)KebabCaseโ
Converts string to kebab case.
import ("github.com/samber/ro"rostrings "github.com/samber/ro/plugins/strings")obs := ro.Pipe[string, string](ro.Just("HelloWorldTest"),rostrings.KebabCase[string](),)sub := obs.Subscribe(ro.PrintObserver[string]())defer sub.Unsubscribe()// Next: hello-world-test// CompletedKebabCaseWithLanguage
Converts the string to kebab case using locale-aware casing.
import ("github.com/samber/ro"rostrings "github.com/samber/ro/plugins/strings""golang.org/x/text/language")obs := ro.Pipe[string, string](ro.Just("IstanbulCity"),rostrings.KebabCaseWithLanguage[string](language.Turkish),)sub := obs.Subscribe(ro.PrintObserver[string]())defer sub.Unsubscribe()// Next: ฤฑstanbul-city// CompletedVariant:Prototypes:func KebabCase[T ~string]()func KebabCaseWithLanguage[T ~string](tag language.Tag)Ellipsisโ
Truncates string to length with ellipsis.
import ("github.com/samber/ro"rostrings "github.com/samber/ro/plugins/strings")obs := ro.Pipe[string, string](ro.Just("This is a very long string"),rostrings.Ellipsis[string](10),)sub := obs.Subscribe(ro.PrintObserver[string]())defer sub.Unsubscribe()// Next: This is...// CompletedSimilar:Prototype:func Ellipsis[T ~string](length int)SnakeCaseโ
Converts string to snake case.
import ("github.com/samber/ro"rostrings "github.com/samber/ro/plugins/strings")obs := ro.Pipe[string, string](ro.Just("HelloWorldWorld"),rostrings.SnakeCase[string](),)sub := obs.Subscribe(ro.PrintObserver[string]())defer sub.Unsubscribe()// Next: hello_world_world// CompletedSnakeCaseWithLanguage
Converts the string to snake case using locale-aware casing.
import ("github.com/samber/ro"rostrings "github.com/samber/ro/plugins/strings""golang.org/x/text/language")obs := ro.Pipe[string, string](ro.Just("IstanbulCity"),rostrings.SnakeCaseWithLanguage[string](language.Turkish),)sub := obs.Subscribe(ro.PrintObserver[string]())defer sub.Unsubscribe()// Next: ฤฑstanbul_city// CompletedVariant:Similar:Prototypes:func SnakeCase[T ~string]()func SnakeCaseWithLanguage[T ~string](tag language.Tag)Wordsโ
Splits string into words.
import ("fmt""github.com/samber/ro"rostrings "github.com/samber/ro/plugins/strings")obs := ro.Pipe[string, []string](ro.Just("hello world from go"),rostrings.Words[string](),)sub := obs.Subscribe(ro.NewObserver(func(words []string) {fmt.Printf("Next: %v\n", words)},func(err error) {fmt.Printf("Error: %v\n", err)},func() {fmt.Println("Completed")},))defer sub.Unsubscribe()// Next: [hello world from go]// CompletedSimilar:Prototype:func Words[T ~string]()