programing

루비 문자열 내에서 문자열 "\n"을 제거하려면 어떻게 해야 합니까?

megabox 2023. 6. 28. 21:35
반응형

루비 문자열 내에서 문자열 "\n"을 제거하려면 어떻게 해야 합니까?

다음 문자열이 있습니다.

"some text\nandsomemore"

"\n"을 제거해야 합니다.해봤습니다

"some text\nandsomemore".gsub('\n','')

하지만 효과가 없습니다.제가 그걸 어떻게 합니까?읽어주셔서 감사합니다.

사용해야 합니다."\n"것은 아니다.'\n'당신의 gsub에서.따옴표마다 동작이 다릅니다.

큰따옴표"문자 확장 및 표현식 보간을 허용합니다.그들은 당신이 탈출한 제어 문자를 사용할 수 있게 해줍니다.\n그들의 진정한 가치를 표현하기 위해, 이 경우, 새로운 선, 그리고 사용을 허용합니다.#{expression}그래서 당신은 변수와, 음, 당신이 좋아하는 루비 표현을 텍스트에 엮을 수 있습니다.

반면에, 싱글 따옴표는'문자열을 문자 그대로 처리하여 확장, 교체, 보간 등이 없습니다.

이 특별한 경우에는 다음 중 하나를 사용하는 것이 좋습니다..delete또는.tr 줄을 삭제하는 문자열 메서드입니다.

자세한 내용은 여기를 참조하십시오.

문자열에서 선행 및 후행 공백을 모두 제거하려면 다음을 사용할 수 있습니다.strip방법.

"    hello    ".strip   #=> "hello"   
"\tgoodbye\r\n".strip   #=> "goodbye"

여기서 말한 바와 같이

편집 이 질문의 원래 제목이 다릅니다.제 대답은 원래 질문에 대한 것입니다.

문자열을 교체하는 대신 제거하려는 경우 사용할 수 있습니다.String#delete(또는 그 돌연변이에 상당하는 것)String#delete!), 예:

x = "foo\nfoo"
x.delete!("\n")

x이제 "foo foo"와 같습니다.

이 특정한 경우에String#delete보다 가독성이 높습니다.gsub당신은 실제로 문자열을 아무것도 바꾸지 않기 때문입니다.

당신은 이것을 위해 정규식이 필요하지 않습니다.tr 사용:

"some text\nandsomemore".tr("\n","")

사용하다chomp또는stripRuby의 함수:

"abcd\n".chomp => "abcd"
"abcd\n".strip => "abcd"

언급URL : https://stackoverflow.com/questions/4190797/how-can-i-remove-the-string-n-from-within-a-ruby-string

반응형