루비 기능을 모두 분리하십시오 공백이?

루비 모든 기능을 어떻게 구성됩니까 지루려면 공백? # 39 () '의' 트리밍할 php& 것 같은데?

질문에 대한 의견 (5)

스케쳐내 지루려면 국한됨 앞뒤의 공백 (PHP& 같은 # 39 의 트림 (trim) ',' 오스트리프 신앙이니라 제거할 때 사용할 수 있는 모든 , 공백 (,, &quot /\s+/ &quot) '대신' 지그서브 사용할 수 있습니다.

해설 (9)
s = "I have white space".delete(' ')

39 의 PHP& 에뮬레이션하도록 트리밍할 () '및' 기능:

s = "   I have leading and trailing white space   ".strip
해설 (12)

관련 대답:

"   clean up my edges    ".strip

되돌려줍니다

"clean up my edges"
해설 (4)

['문자열 # 스트립'] (http://ruby-doc.org/core-2.3) 에서 모두 분리하십시오 .1/string.html # 내가 메서드로부터 스트립) - 공백을 시작과 끝.

['문자열 # 우스트리프'] (http://ruby-doc.org/core-2.3 # 내가 우스트리프 방법 .1/string.html) - 그냥 처음부터.

['문자열 # 스트리프'] (http://ruby-doc.org/core-2.3) 에서 .1/string.html # 내가 스트리프 방법) - 그냥 및끝.

['문자열 # 씹는'] (http://ruby-doc.org/core-2.3 # 내가 씹는 방법 .1/string.html) 구분 없이 인수만) - deletes 선 ('\n' 또는 '\r\n') 에서 및끝.

['문자열 # chop'] (http://ruby-doc.org/core-2.3 .1/string.html # 내가 메서드로부터 chop) - deletes 마지막 문자.

['문자열 # 삭제하시겠습니까'] (http://ruby-doc.org/core-2.3 # 내가 삭제 방법 .1/string.html) - '스윈드레티 (&quot. 모든 나열되는지 \t\r\n") '- deletes 공백.

['문자열 # 그서브'] (http://ruby-doc.org/core-2.3 # 내가 그서브 방법 .1/string.html) - '스리그스베 (/ [[공간.]] /, & # 39, & # 39;)' 등 모든 공백을 절감뿐만 - [유니코드 수준들과] (http://www.fileformat.info/info/unicode/char/00a0/index.htm).

  • 참고 *: 위의 모든 방법을 복귀하십시오 억제하는 대신 이 새 문자열 원본. 스케쳐내 변경하십시오 구체화하십시오 제자리에 호출하십시오 .해당 방법을 이용하여 '!' 의 종료.
해설 (9)
"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)
해설 (3)

'찌그러뜨리기' 방법을 사용할 수 있습니다. 여러 공백은 공백 제거하고 양쪽 끝에 구체화하십시오 및 그룹 단일 공간.

대한 eg.

" a  b  c ".squish

그 결과가 된다.

"a b c"

확인란 [이 참조 (api.rubyonrails.org] (http://api.rubyonrails.org/classes/String.html # 내가 찌그러뜨리기 방법).

편집: 루비 온 레일즈 대해서만 작동하잖아

해설 (4)

39 의 it& 조금 늦은 사람이 관심을 가질 수 있지만, 이 페이지를 구글링 지정값이 이 버전 -

이것은 사용자가 미리 포맷 텍스트를 스케쳐내 최고 청소하려면 청크에는 &amp 잘라냅니다 있을 수 있습니다. 하지만 이 단어는 간격, 시도하시겠습니까 붙여넣어집니다 보존할지 너회의 app 짐작이지만요.:

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"
해설 (2)

39 는 PHP 에 해당하는 's', '방법을 ruby& 오스트리프 트리밍할 ()'.

모든 지루려면 공백:

"  leading    trailing   ".squeeze(' ').strip
=> "leading trailing"

나를 알고 답을 연속해서 왝 - 내 원래 @tass 절감뿐만 복제본임을 문자! 이후, ve i& # 39 를 사용하는 경우 레일 프레임워크입니다 대한 보다 스마트하며 원하는거요 스위칭됩니다 찌그러뜨리기 방법 등 발생.

require 'active_support/all'
"  leading    trailing   ".squish
=> "leading trailing"

"  good    men   ".squish
=> "good men"

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

해설 (3)
" Raheem Shaik ".strip

왼쪽 &amp 절감뿐만 것입니다. 오른쪽면 독창적이다. 이 코드는 기회를 줄 것이다. ',' 라힘 Shaik&quot &quot.

해설 (0)

또한 don& # 39, t forget:

$ s = "   I have white space   ".split
=> ["I", "have", "white", "space"]
해설 (2)

'폭발' 가 있는 모든 공백을 스플리트스타인 어디든요 구체화하십시오.

"  a b  c    d     ".split.join
> "abcd"

39 의 it& it& # 39 에 대한 좋은 기억 때문에 쉽게 유형 및 콘솔 및 빠른 해킹. 코드 표시되어도 마스킹하고 의도 때문에 심각한 시각이 잘 드러나 없다.

(기준 Piotr& # 39 의 주석에 [Justicle& # 39 의 오토메이티드] (https://stackoverflow.com/a/1634763/18706), 위에)

해설 (1)

이 할 수 있습니다.

"Some Special Text Values".gsub(/[[:space:]]+/, "")

끊기지 않는 공간을 사용하여 절감뿐만 :space: 함께 정칙 공간.

해설 (1)

그서브 사용 또는 삭제입니다. 차이는 그서브 탭들 제거할 수 있으며, 삭제할 수 없습니다. 편집자가 파일에 의해 추가되는 탭들 가지고 있는 경우도 있습니다.

a = "\tI have some whitespaces.\t"
a.gsub!(/\s/, '')  #=>  "Ihavesomewhitespaces."
a.gsub!(/ /, '')   #=>  "\tIhavesomewhitespaces.\t"
a.delete!(" ")     #=>  "\tIhavesomewhitespaces.\t"
a.delete!("/\s/")  #=>  "\tIhavesomewhitespaces.\t"
a.delete!('/\s/')  #=>  using single quote is unexpected, and you'll get "\tI have ome whitepace.\t"
해설 (0)
"asd sda sda sd".gsub(' ', '')
=> "asdsdasdasd"
해설 (1)

이 방법을 사용하면 그서브 잘 해낼 거야 이 그서브 의 문자열으로 메서드를 호출할 수 없다고 말했습니다.

a = "this is a string"
a = a.gsub(" ","")
puts a
#Output: thisisastring

이 방법은 모든 발생에 대해 검색을 그서브 의 첫 번째 인수 두 번째 바뀌고 있는 것이다. 이 경우, 모든 내부 공간 대체할 구체화하십시오 제거합니다.

또 다른 예를 들어:

b = "the white fox has a torn tail"

39 의 모든 에셋은 let& 대체하십시오 문자 &quot. t &quot. 자본금으로 &quot. T &quot.

b = b.gsub("t","T")
puts b 
#Output: The whiTe fox has a Torn Tail
해설 (0)

가장 간단한 방법은 PHP '대한', '정확하게 일치하는 비헤이비어를 트리밍할 구체화하십시오 # 스트립' 같은 방법을 사용할 수 있습니다.

string = "  Many have tried; many have failed!    "
puts "Original [#{string}]:#{string.length}"
new_string = string.strip
puts "Updated  [#{new_string}]:#{new_string.length}"

또한 제자리에서 편집 버전을 가지고 있을 뿐만 아니라, '루비 불렀으매 스트린g. 스트리프!' (& # 39, & # 39 위를 기록하십시오!;). # 39 이 doesn& 훨씬 빠르게 할 수 있으며, 문자열 t 생성하기에 복제본이므로 용도에 따라:

string = "  Many have tried; many have failed!    "
puts "Original [#{string}]:#{string.length}"
string.strip!
puts "Updated  [#{string}]:#{string.length}"

두 버전 모두 깔의 이 출력:

Original [  Many have tried; many have failed!    ]:40
Updated  [Many have tried; many have failed!]:34

내가 만든 테스트하려면 벤치마크입니다 몇 가지 기본 성능은 물론 스트립! ',' 와 '는' 스트립 일부 대안. 테스트 로만스였나:

require 'benchmark'

string = 'asdfghjkl'
Times = 25_000

a = Times.times.map {|n| spaces = ' ' * (1+n/4); "#{spaces}#{spaces}#{string}#{spaces}" }
b = Times.times.map {|n| spaces = ' ' * (1+n/4); "#{spaces}#{spaces}#{string}#{spaces}" }
c = Times.times.map {|n| spaces = ' ' * (1+n/4); "#{spaces}#{spaces}#{string}#{spaces}" }
d = Times.times.map {|n| spaces = ' ' * (1+n/4); "#{spaces}#{spaces}#{string}#{spaces}" }

puts RUBY_DESCRIPTION
puts "============================================================"
puts "Running tests for trimming strings"

Benchmark.bm(20) do |x|
  x.report("s.strip:")                 { a.each {|s| s = s.strip } }
  x.report("s.rstrip.lstrip:")         { a.each {|s| s = s.rstrip.lstrip } }
  x.report("s.gsub:")                  { a.each {|s| s = s.gsub(/^\s+|\s+$/, "") } }
  x.report("s.sub.sub:")               { a.each {|s| s = s.sub(/^\s+/, "").sub(/\s+$/, "") } }

  x.report("s.strip!")                 { a.each {|s| s.strip! } }
  x.report("s.rstrip!.lstrip!:")       { b.each {|s| s.rstrip! ; s.lstrip! } }
  x.report("s.gsub!:")                 { c.each {|s| s.gsub!(/^\s+|\s+$/, "") } }
  x.report("s.sub!.sub!:")             { d.each {|s| s.sub!(/^\s+/, "") ; s.sub!(/\s+$/, "") } }
end

다음은 결과:

ruby 2.2.5p319 (2016-04-26 revision 54774) [x86_64-darwin14]
============================================================
Running tests for trimming strings
                           user     system      total        real
s.strip:               2.690000   0.320000   3.010000 (  4.048079)
s.rstrip.lstrip:       2.790000   0.060000   2.850000 (  3.110281)
s.gsub:               13.060000   5.800000  18.860000 ( 19.264533)
s.sub.sub:             9.880000   4.910000  14.790000 ( 14.945006)
s.strip!               2.750000   0.080000   2.830000 (  2.960402)
s.rstrip!.lstrip!:     2.670000   0.320000   2.990000 (  3.221094)
s.gsub!:              13.410000   6.490000  19.900000 ( 20.392547)
s.sub!.sub!:          10.260000   5.680000  15.940000 ( 16.411131)
해설 (0)

I was trying to do 이를 사용하여, title&quot &quot 레코드전자문서의 싶었다. 그러나 타이틀 공백을 표시됨과 id 뷰에서의 했다.

해결책이 있다.

record.value.delete(' ') # Foo Bar -> FooBar
해설 (0)

내 개인 기본 방법을 사용하여 '는' .tr

같이.

string = "this is a string to smash together"

string.tr(' ', '') # => "thisisastringtosmashtogether"

덕분에 @FrankScmitt all 삭제하시겠습니까 공백 (아닌 공간) 에 대한 지적이 만들기 위해 이 같은 쓸 필요합니다.

string = "this is a string with tabs\t and a \nnewline"

string.tr(" \n\t", '') # => "thisisastringwithtabsandanewline"
해설 (5)

많은 방법들이 있다. 양측의 지루려면 공백:

39 () 의 트리밍할 php& &gt 것 같은데.

"'루비 Foo_bar.strip "' 모든 지루려면 공백: "'루비 Foo_bar.gsub (/ /, &quot ";) "' 모든 지루려면 공백: "'루비 Foo_bar.gsub (/\s/ &quot, ";) "'

해설 (0)

39, ruby& 오스카누스 () '와' s ' () 의 공백을 극복하는 데 도움이 될 수 있습니다' 방법을 스타인 문자열이어야 구체화하십시오.

'스캔 (/\w+/)' 은 모두 분리하십시오 스타인 공백과 bigadmin 의 문자열

string = "White spaces in me".scan(/\w+/).join
=>"Whitespacesinme"

또 왼쪽 및 오른쪽 부분을 제거 에서 공간을 구체화하십시오. ',' 는 '우트림 트림 트리밍할' 와 ''. 혹시 누군가 배경 위에 있다 'C', '에서' 루비 '기본' 및 '또는' 비주얼 폭스프로 이동줄을.

' 2.1.6 002*는 &gt. 문자열 = &quot. 내 공백은 &quot 스타인 오스카누스 (/\w+/). = &gt. &quot Whitespacesinme"; 2.1.6 003 &gt. 문자열 = &quot. 화이트 스페이스 (/\w+/) 스타인 오스카누스 me&quot. = &gt. &quot Whitespacesinme"; 2.1.6 004 &gt. 문자열 = &quot 공백은 내 오스카누스 (/\w+/) 스타인 "; = &gt. &quot Whitespacesinme"; 2.1.6 005 &gt. '

해설 (1)