uniseg
go-edlib
uniseg | go-edlib | |
---|---|---|
6 | 1 | |
542 | 444 | |
- | - | |
6.5 | 1.8 | |
about 1 month ago | almost 2 years ago | |
Go | Go | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
uniseg
- Should unicode/utf8 have funcs for graphemes?
-
UTF-8 strings with Go: len(s) isn't enough
So far, I've found this package for Unicode text segmentation: https://github.com/rivo/uniseg
-
Why do we get byte and rube when iterating a string using for loop or for range respectivly?
Ah this is an intreresting one. I’ve recently had to deal with graphemes and after learning a bit more about them with a coworker, was surprised to find there doesn’t seem to be native support for them in Golang. Does anyone know if support for dealing with graphemes will be added eventually? For the moment I’ve used https://github.com/rivo/uniseg
-
FYI: a single Go rune is not the same as a single visible character
Yes, what you want is called a grapheme cluster. It faithfully represents one "visible" character in your terminal. Use something like https://github.com/rivo/uniseg to turn a string into graphemes and iterate over them.
-
Strings in Go
There is an open source library github.com/rivo/uniseg that provides a function to do just this. It provides a function GraphemeClusterCount that returns the number of characters that is present in this string. Check out the source code on Github for details about the author and the implementation.
go-edlib
What are some alternatives?
go - The Go programming language
RapidFuzz - Rapid fuzzy string matching in Python using various string metrics
ecoji - Encodes (and decodes) data as emojis
null - Nullable Go types that can be marshalled/unmarshalled to/from JSON.
xid - Parse unicode identifiers
PolyFuzz - Fuzzy string matching, grouping, and evaluation.
micro-editor - A modern and intuitive terminal-based text editor
gota - Gota: DataFrames and data wrangling in Go (Golang)
GoQuery - A little like that j-thing, only in Go.
mxj - Decode / encode XML to/from map[string]interface{} (or JSON); extract values with dot-notation paths and wildcards. Replaces x2j and j2x packages.
bluemonday - bluemonday: a fast golang HTML sanitizer (inspired by the OWASP Java HTML Sanitizer) to scrub user generated content of XSS
gofeed - Parse RSS, Atom and JSON feeds in Go