6
나는 모든 개행 문자를 제거하려면 :문자열에서 줄 바꿈 문자를 제거하는 방법은 무엇입니까?
aaa = """
fdsfds fdsfds
fdsfdsfds
fdsfdsfds
""" |> String.strip("\r\n")
내가 얻을 :
argument error
이 문제점은 무엇입니까?
나는 모든 개행 문자를 제거하려면 :문자열에서 줄 바꿈 문자를 제거하는 방법은 무엇입니까?
aaa = """
fdsfds fdsfds
fdsfdsfds
fdsfdsfds
""" |> String.strip("\r\n")
내가 얻을 :
argument error
이 문제점은 무엇입니까?
무엇이 문제입니까?
String.strip
은 한 문자 만 제거 할 수 있습니다. 비약으로 발생합니다 그 오류는 단일 문자 (source)에 "\r\n"
을 변환하려고 :
iex(1)> s = "\r\n"
"\r\n"
iex(2)> <<s::utf8>>
** (ArgumentError) argument error
또한, String.strip
이 String.trim
찬성에서 사용되지 않으며, 두 번째 인수로 문자열을 지원하지 않습니다,하지만 작동합니다 단지 시작에서 정확한 순서 \r\n
을 제거하고 문자열의 끝 : 나는 의심
iex(1)> aaa = """
...(1)> fdsfds fdsfds
...(1)> fdsfdsfds
...(1)> fdsfdsfds
...(1)> """
"fdsfds fdsfds\n fdsfdsfds\nfdsfdsfds\n"
iex(2)> String.trim(aaa, "\r\n")
"fdsfds fdsfds\n fdsfdsfds\nfdsfdsfds\n"
iex(3)> String.trim(aaa, "\r\n") == aaa
true
당신은 "나는 새로운 라인의 모든 기호를 제거하려면"고 말했다 당신이 원하는 것입니다. 모든 \r
를 제거하고 \n
, 당신은 두 번 String.replace
를 사용할 수 있습니다
iex(4)> aaa |> String.replace("\r", "") |> String.replace("\n", "")
"fdsfds fdsfds fdsfdsfdsfdsfdsfds"
을'AAA |>하려면 string.replace (~ R/\ 연구 | \ n /, "") '? – mudasobwa
@ mudasobwa 필자는 개인적으로 이런 간단한 경우 Regex를 사용하지 않을 것이지만, 그것은 확실히 유효한 해결책입니다! 나는 또한이 2 차원 String 교체 솔루션을 당신의 Regex 것보다 빠를 것이라고 생각하지만 그것을 측정하지는 못했습니다. – Dogbert