shell/splitNewLines.go

18 lines
512 B
Go

package shell
import "regexp"
// splits strings. should work all the time
// A string with mixed line endings, including old Mac style (\r)
func SplitNewLines(input string) []string {
// This regex matches a carriage return and optional newline, OR just a newline.
// This covers \r\n, \n, and \r.
re := regexp.MustCompile(`\r\n?|\n|\r`)
// The -1 means there is no limit to the number of splits.
lines := re.Split(input, -1)
// Output: ["line one" "line two" "line three" "line four"]
return lines
}