모든 공백 을 제거하는 Ruby 기능은 무엇입니까 ? PHP와 같은 것을 찾고 trim()
있습니까?
답변
PHP의 트림과 같이 선행 및 후행 공백 만 제거하려면을 사용할 수 .strip
있지만 모든 공백 을 제거 하려면 .gsub(/\s+/, "")
대신 을 사용할 수 있습니다 .
답변
s = "I have white space".delete(' ')
그리고 PHP의 trim()
기능 을 에뮬레이트하려면 :
s = " I have leading and trailing white space ".strip
답변
관련 답변 :
" clean up my edges ".strip
보고
"clean up my edges"
답변
String#strip
-시작과 끝에서 모든 공백을 제거하십시오.
String#lstrip
-처음부터.
String#rstrip
-끝에서.
String#chomp
(인수없이)- 끝에서 줄 구분 기호 ( \n
또는 \r\n
)를 삭제합니다 .
String#chop
-마지막 문자를 삭제합니다.
String#delete
— x.delete(" \t\r\n")
나열된 모든 공백을 삭제합니다.
String#gsub
– 유니 코드x.gsub(/[[:space:]]/, '')
공백을 포함하여 모든 공백을 제거 합니다 .
참고 : 위의 모든 메소드는 원본을 변경하지 않고 새 문자열을 반환합니다. 문자열을 제자리에서 변경 !
하려면 끝에 해당 메소드를 호출하십시오 .
답변
"1232 23 2 23 232 232".delete(' ')
=> "123223223232232"
삭제 작업이 더 빠름 =)
user system total real
gsub, s 0.180000 0.010000 0.190000 (0.193014)
gsub, s+ 0.200000 0.000000 0.200000 (0.196408)
gsub, space 0.220000 0.000000 0.220000 (0.222711)
gsub, join 0.200000 0.000000 0.200000 (0.193478)
delete 0.040000 0.000000 0.040000 (0.045157)
답변
Rails / ActiveSupport 를 사용 squish
하는 경우 메소드 를 사용할 수 있습니다 . 문자열의 양쪽 끝에서 공백을 제거하고 여러 공백을 단일 공백으로 그룹화합니다.
예를 들어.
" a b c ".squish
결과는 다음과 같습니다.
"a b c"
api.rubyonrails.org에서이 참조를 확인하십시오 .
답변
조금 늦었지만이 페이지를 탐색하는 다른 사람이이 버전에 관심이있을 수 있습니다.
사용자가 어떻게 든 앱에 잘라 붙여 넣을 수 있지만 미리 단어 간격을 유지하는 미리 서식이 지정된 텍스트 청크를 정리하려면 다음을 시도하십시오.
content = " a big nasty chunk of something
that's been pasted from a webpage or something and looks
like this
"
content.gsub(/\s+/, " ").strip
#=> "a big nasty chunk of something that's been pasted from a webpage or something and looks like this"