[ruby] 문자열 내부의 여러 공백과 새 줄 제거

다음과 같은 문자열이 있다고 가정합니다.

Hello, my\n       name is Michael.

새 줄을 제거하고 그 이후의 공백을 문자열 내부로 제거하여 이것을 얻을 수 있습니까?

Hello, my name is Michael.



답변

Rails squish방법을 확인하십시오 .

http://apidock.com/rails/String/squish


답변

squeeze에 내장 된 Ruby를 설명하려면 다음을 수행하십시오.

string.gsub("\n", ' ').squeeze(' ')


답변

가장 간단한 방법은 아마도

s = "Hello, my\n       name is Michael."
s.split.join(' ') #=> "Hello, my name is Michael."


답변

이 시도:

s = "Hello, my\n       name is Michael."
s.gsub(/\n\s+/, " ")


답변

my_string = "Hello, my\n       name is Michael."
my_string = my_string.gsub( /\s+/, " " )


답변

이 정규식은 1 개 이상의 공백 인스턴스를 1 개의 공백으로 \s바꾸고 , ps 는 \s\t\r\n\f다음 을 포함하는 모든 공백 문자를 대체합니다 .

a_string.gsub!(/\s+/, ' ')

캐리지 리턴에만 유사

str.gsub!(/\n/, " ")

먼저 모두 \n공백으로 바꾼 다음 여러 공백 제거 정규식을 사용하십시오.


답변

사용 문자열 #의 GSUB :

s = "Hello, my\n       name is Michael."
s.gsub(/\s+/, " ")