2014-02-10 4 views
-2

예 : The fox is red.x________ (밑줄을 공백으로 간주하십시오). 공백과 x를 어떻게 제거 할 수 있습니까?마지막 공백을 제거하려면 어떻게해야합니까?

편집 : 이렇게 여러 줄이 있다면? 원래의 질문에

The fox is red.x________ 
The fox is grey.x________ 
The fox is blue.x________ 
The fox is green.x________ 
+3

[rstrip을 ] 또는 http://www.ruby-doc.org/core-2.1 .0/String.html # method-i-chop)를 사용하면됩니다. – toro2k

답변

0

답변 : 질문에

"The fox is red.x  ".sub(/. *\z/, "") 
# => "The fox is red." 

대답은 변경 후 :

text.gsub(/. *$/, "") 
+0

정규식에서 리터럴 스페이스 문자 대신 \ s를 사용하는 것이 좋습니다. – Coenwulf

+1

@Coenwulf 그 행동을 바꿀 것입니다. – sawa

+1

그러나 원래의 포스터는 "공백"을 제거하는 것에 대해 질문했기 때문에 탭 문자도 제거해야 함을 암시 할 수 있습니다. 어떤 경우에도 공백을 제거하는 것은 요청한 것입니다 ... – Coenwulf

0

사와는 좋은 답변이 있습니다. 만약 당신이 (당신이 게시 된) 모든 공백 문자를 제거해야하지만 그럴 수이 약간 변경 정규식 사용

text.gsub(/.\s*$/, "") 
1

당신은 각 라인을 통해 이동하고 그것을 잘라 수 있습니다

text.lines.map(&:rstrip).map(&:chop).join($/) 
# => The fox is red. 
# => The fox is grey. 
# => The fox is blue. 
# => The fox is green. 
+0

결과 문자열의 끝에 개행 문자가 누락 된 것을주의하십시오. – toro2k

관련 문제