Home

Awesome

blank

GoDoc Build Status Go Report Card Coverage Status

The Blank package offers two main functionalities.

Blank can remove whitespace from a string. The package defines whitepsace as a character that is not typically visible. These characters range anywhere from the ordinary space to a less common vertical tab.

Blank can check if a string is blank. The package considers a string to be blank if it is comprised solely of whitespace.

Installation

If you do not have Go installed yet, you can find installation instructions here.

To pull the most recent version of Blank, use go get.

go get -u github.com/Henry-Sarabia/blank

Then import the package into your project.

import "github.com/Henry-Sarabia/blank"

Usage

Whitespace Removal

The package considers whitespace to be any character that is not typically visible. The most common of these characters are: space, tab, newline, return, formfeed, nonbreaking space, and vertical tab. For more information, visit the unicode package and the unicode seperator category.

To remove the whitespace from a string, use the Remove function.

phrase := "this is a phrase"

str := blank.Remove(phrase)

fmt.Println(str)
// output: "thisisaphrase"

Blank Detection

The package considers a string to be blank if it is comprised solely of whitespace.

For example, assume we are creating a search function that takes a string as a search query. We want to avoid searching for blank queries. Blank queries can be detected using the Is function.

func search(qry string) error {
	if blank.Is(qry) {
		// return error
	}
	
	// rest of code
}

Similarly, the Has function can process an entire slice of strings; it will check if any of the strings are blank.

Let's slightly alter our example. Assume the search function takes a slice of strings as a list of queries. We still want to avoid seraching for blank queries. Blank queries can be detected using the Has function.

func search(qrs []string) error {
	if blank.Has(qrs) {
		// return error
	}
	
	// rest of code
}

Contributions

If you would like to contribute to this project, please adhere to the following guidelines.

I'll review pull requests as they come in and merge them if everything checks out.

Any and all contributions are greatly appreciated. Thank you!