From 4efd88947cc7abd2e42d7d4e6e9fb1ce81def8e0 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Fri, 5 Sep 2025 01:52:54 -0500 Subject: good stuff --- splitNewLines.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 splitNewLines.go (limited to 'splitNewLines.go') diff --git a/splitNewLines.go b/splitNewLines.go new file mode 100644 index 0000000..7ee7442 --- /dev/null +++ b/splitNewLines.go @@ -0,0 +1,17 @@ +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 +} -- cgit v1.2.3