다른 문자열에서 문자열을 제거하는 방법이 있는지 궁금합니다. 이 같은:
class String
def remove(s)
self[s.length, self.length - s.length]
end
end
답변
슬라이스 방법을 사용할 수 있습니다.
a = "foobar"
a.slice! "foo"
=> "foo"
a
=> "bar"
‘!’가 아닌 버전도. 더 많은 정보는 다른 버전에 대한 문서에서도 볼 수 있습니다 :
http://www.ruby-doc.org/core/classes/String.html#method-i-slice-21
답변
에 대해 어떻게 str.gsub("subString", "")
밖으로 확인 루비 문서를
답변
답변
대상 문자열이 한 번만 나타나는 경우 다음을 사용할 수 있습니다.
str[target] = ''
또는
str.sub(target, '')
여러 번의 대상 사용이있는 경우 :
str.gsub(target, '')
예를 들어 :
asdf = 'foo bar'
asdf['bar'] = ''
asdf #=> "foo "
asdf = 'foo bar'
asdf.sub('bar', '') #=> "foo "
asdf = asdf + asdf #=> "foo barfoo bar"
asdf.gsub('bar', '') #=> "foo foo "
전체 대체를 수행해야하는 경우 및 의 "!"
버전을 사용하십시오 .gsub!
sub!
답변
Rails를 사용하는 경우도 있습니다 remove
.
예를 들어 "Testmessage".remove("message")
수율 "Test"
.
경고 :이 방법은 모든 발생을 제거 합니다
답변
루비 2.5 이상
만약 당신의 하위 문자열이 문자열의 시작 부분에 있다면, Ruby 2.5는이를위한 방법을 도입했습니다 :
- delete_prefix문자열의 시작 부분에서 부분 문자열을 제거하기위한
- 문자열 끝에서 부분 문자열을 제거하기위한 delete_suffix
답변
레일을 사용하거나 덜 활동적인 지원을 받으면 String # remove 및 String # remove! 방법
def remove!(*patterns)
patterns.each do |pattern|
gsub! pattern, ""
end
self
end
출처 : http://api.rubyonrails.org/classes/String.html#method-i-remove