Created
February 3, 2020 20:56
-
-
Save topherPedersen/a6d1f4f9a9e95852a3d1907b4e505625 to your computer and use it in GitHub Desktop.
How to Strip Newline Characters from a String in Golang
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
import ( | |
"fmt" | |
"strings" | |
) | |
func main() { | |
var string_a string = "My super \nsweet \nstring has \nmany newline\n characters" | |
fmt.Println(string_a) | |
var string_b string = string_a | |
string_b = strings.Replace(string_b, "\n", "", -1) | |
fmt.Println(string_b) | |
} |
There's also strings.TrimSuffix(string_b, "\r\n")
.
In my case tough, can't seem to trim the newline at the end of command output from cat
on a file.
In my case tough, can't seem to trim the newline at the end of command output from cat on a file.
TrimSuffix
requires all characters in the correct order to be present.
if the file only has \n
, then \r\n
wont be trimmed because those 2 characters dont exist
files will contain only \n
if they're created on linux or macos or wsl
they will have both \r\n
characters if they're created on windows
what you want is strings.TrimRight(string_b, "\r\n")
, it removes any individual character from the end of the string.
if there is just \n
, it removes it, and if there's \r\n
it removes both
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
if you're looking to remove padding from the end of your string there's strings.TrimRight(string_b, "\r\n") where each character in that list will be removed.
also, super nitpicky but the convention for variables in Go is camelCase not snake_case.