이 문자열이 있습니다.
"some text\nandsomemore"
여기서 “\ n”을 제거해야합니다. 난 노력 했어
"some text\nandsomemore".gsub('\n','')
하지만 작동하지 않습니다. 어떻게하나요? 읽어 주셔서 감사합니다.
답변
gsub에서 사용할 필요가 "\n"
없습니다 '\n'
. 다른 따옴표는 다르게 작동합니다.
큰 따옴표 "
는 문자 확장 및 표현식 보간을 허용합니다. 이스케이프 된 제어 문자를 사용하여 \n
실제 값 (이 경우에는 newline )을 사용할 수 있도록하고 #{expression}
변수를 사용할 수 있도록 허용 하고 텍스트에 원하는 거의 모든 루비 표현식을 사용할 수 있습니다.
반면에 작은 따옴표 '
는 문자열을 문자 그대로 취급하므로 확장, 대체, 보간 또는 무엇을 가지고 있는지가 없습니다.
이 특별한 경우에는 .delete
또는 .tr
String 메서드를 사용하여 개행 문자 를 삭제하는 것이 좋습니다.
답변
문자열을 교체하는 대신 제거하려는 경우 사용할 수 있습니다 String#delete
(또는 그에 상응하는 mutator String#delete!
). 예 :
x = "foo\nfoo"
x.delete!("\n")
x
이제 “foofoo”와 같습니다.
이 특정 경우 에는 실제로 문자열을 아무것도 바꾸지 않기 때문에 String#delete
더 읽기 gsub
쉽습니다.
답변
문자열에서 모든 선행 및 후행 공백을 제거하고 싶지 않거나 마음에 들지 않으면 strip
메서드를 사용할 수 있습니다 .
" hello ".strip #=> "hello"
"\tgoodbye\r\n".strip #=> "goodbye"
여기에 언급 된대로 .
편집 이 질문의 원래 제목이 달랐습니다. 내 대답은 원래 질문에 대한 것입니다.
답변
이를 위해 정규식이 필요하지 않습니다. tr 사용 :
"some text\nandsomemore".tr("\n","")
답변
Ruby에서 사용 chomp
또는 strip
기능 :
"abcd\n".chomp => "abcd"
"abcd\n".strip => "abcd"