루비 모든 기능을 어떻게 구성됩니까 지루려면 공백? # 39 () '의' 트리밍할 php& 것 같은데?
['문자열 # 스트립'] (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) - '스윈드레티 (". 모든 나열되는지 \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).
"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)
이것은 사용자가 미리 포맷 텍스트를 스케쳐내 최고 청소하려면 청크에는 & 잘라냅니다 있을 수 있습니다. 하지만 이 단어는 간격, 시도하시겠습니까 붙여넣어집니다 보존할지 너회의 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"
모든 지루려면 공백:
" leading trailing ".squeeze(' ').strip
=> "leading trailing"
나를 알고 답을 연속해서 왝 - 내 원래 @tass 절감뿐만 복제본임을 문자! 이후, ve i& # 39 를 사용하는 경우 레일 프레임워크입니다 대한 보다 스마트하며 원하는거요 스위칭됩니다 찌그러뜨리기 방법 등 발생.
require 'active_support/all'
" leading trailing ".squish
=> "leading trailing"
" good men ".squish
=> "good men"
'폭발' 가 있는 모든 공백을 스플리트스타인 어디든요 구체화하십시오.
" a b c d ".split.join
> "abcd"
(기준 Piotr& # 39 의 주석에 [Justicle& # 39 의 오토메이티드] (https://stackoverflow.com/a/1634763/18706), 위에)
그서브 사용 또는 삭제입니다. 차이는 그서브 탭들 제거할 수 있으며, 삭제할 수 없습니다. 편집자가 파일에 의해 추가되는 탭들 가지고 있는 경우도 있습니다.
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"
이 방법을 사용하면 그서브 잘 해낼 거야 이 그서브 의 문자열으로 메서드를 호출할 수 없다고 말했습니다.
a = "this is a string"
a = a.gsub(" ","")
puts a
#Output: thisisastring
이 방법은 모든 발생에 대해 검색을 그서브 의 첫 번째 인수 두 번째 바뀌고 있는 것이다. 이 경우, 모든 내부 공간 대체할 구체화하십시오 제거합니다.
또 다른 예를 들어:
b = "the white fox has a torn tail"
b = b.gsub("t","T")
puts b
#Output: The whiTe fox has a Torn Tail
가장 간단한 방법은 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)
내 개인 기본 방법을 사용하여 '는' .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"
많은 방법들이 있다. 양측의 지루려면 공백:
"'루비 Foo_bar.strip "' 모든 지루려면 공백: "'루비 Foo_bar.gsub (/ /, " ";) "' 모든 지루려면 공백: "'루비 Foo_bar.gsub (/\s/ ", ";) "'
'스캔 (/\w+/)' 은 모두 분리하십시오 스타인 공백과 bigadmin 의 문자열
string = "White spaces in me".scan(/\w+/).join
=>"Whitespacesinme"
또 왼쪽 및 오른쪽 부분을 제거 에서 공간을 구체화하십시오. ',' 는 '우트림 트림 트리밍할' 와 ''. 혹시 누군가 배경 위에 있다 'C', '에서' 루비 '기본' 및 '또는' 비주얼 폭스프로 이동줄을.
' 2.1.6 002*는 >. 문자열 = ". 내 공백은 " 스타인 오스카누스 (/\w+/). = >. " Whitespacesinme"; 2.1.6 003 >. 문자열 = ". 화이트 스페이스 (/\w+/) 스타인 오스카누스 me". = >. " Whitespacesinme"; 2.1.6 004 >. 문자열 = " 공백은 내 오스카누스 (/\w+/) 스타인 "; = >. " Whitespacesinme"; 2.1.6 005 >. '