2014-09-18 2 views
0

문자열에서 일부 부분 문자열을 제거하려고하지만 그 부분 문자열은 앞이나 뒤에 만 있어야합니다.Ruby : 문자열에서 앞뒤 부분 문자열 만 제거합니다.

Example :- Hotel Silver Stone Residency 
String to be removed :- Residency 
Output :- Hotel Silver Stone 

Example :- Hotel Silver Residency Stone 
String to be removed :- Residency 
Output :- Hotel Silver Residency Stone 
+0

가 매우 가까운 것 같다 가입 할 수있는 방법, 나는 당신을 표시 할 수 있습니다 다른 질문 : http://stackoverflow.com/questions/25906114/remove-words-from-string-which-are-present-in-some-set. – tomsoft

+0

그들은 동일하지 않습니다. . – LearningBasics

+0

두 번째 예는 차이점을 파악하는 데 도움이됩니다. – LearningBasics

답변

0

당신은 정규 표현식을 사용하여 작업을 수행 할 수 있습니다,하지만 난 정규 표현식 전문가가 아니다 당신이 /가 분할을 사용하여 할

s="Hotel Silver Stone Residency String" 
string_to_be_removed="Residency" 

tokens=s.split(' ') 
tokens.shift if tokens.first==string_to_be_removed 
tokens.pop if tokens.last==string_to_be_removed 
s=tokens.join(' ') 
2
sub_str = "Residency" 
s = "Residency Hotel Residency Silver Stone Residency" 
s.gsub(/^#{sub_str}|#{sub_str}$/,'').strip 
=> "Hotel Residency Silver Stone" 
관련 문제