누구든지 2 개의 공백으로 탭을 일치시키고 바꿀 수있는 루비의 정규식을 가지고 있습니까?Ruby, regex로 탭을 일치시키고 2 칸으로 대체 하시겠습니까?
3
A
답변
10
6
당신이 (탭을 교체 약간 다른 작업입니다) 탭을 확장하려는 경우 :
이# This algorithm by Brian Candler ([email protected]) found on the
# org.ruby-lang.ruby-talk mailing list
# http://markmail.org/message/avdjw34ahxi447qk
# Date: 2003-5-31 13:35:09
# Subject: Re: expandtabs
def expand_tabs(s, tab_stops = 8)
s.gsub(/([^\t\n]*)\t/) do
$1 + " " * (tab_stops - ($1.size % tab_stops))
end
end
p expand_tabs("\tfoo", 2) # => " foo"
p expand_tabs(" \tfoo", 2) # => " foo"
p expand_tabs("\t\tfoo", 2) # => " foo"
탭을 확장하는 이유는 다른 예를 들어 탭 정지가 매 8 개 열이면 첫 번째 열의 탭을 8 개 공백으로 바꿔야하지만 하나는 두 번째 열에 7 칸, 세 번째 칸에는 하나씩 6 칸 씩 mn 등등.
관련 문제
- 1. Regex로 HTML 구문 분석 대체
- 2. Ruby 1.9에서 Array # nitems를 대체 하시겠습니까?
- 3. SWI-Prolog tokenize_atom/2 대체 하시겠습니까?
- 4. 역순으로 탭을 추가 하시겠습니까?
- 5. 특정 문자열이있는 행을 일치시키고 제거하는 방법은 무엇입니까?
- 6. 이미지 대체 Struts 2
- 7. 빔이 탭을 이중 공백으로 바꾸는 것
- 8. Ruby 각 변수 변경 대체
- 9. 서비스 레이어 대신 Ruby 대체
- 10. PHP - Regex로 문자열 파싱
- 11. 문장에서 Regex로 단어 추출하기
- 12. Maven 2 : Maven-Replacer-Plugin을 조건부 대체 값으로 실행 하시겠습니까?
- 13. 루비에서 regex로 html을 파싱
- 14. Android에서 기본 탭을 설정 하시겠습니까?
- 15. JAXMServlet을 대체 하시겠습니까?
- 16. GetInput() SFML을 대체 하시겠습니까?
- 17. Android에서 AbsoluteLayout을 대체 하시겠습니까?
- 18. Python- *로 대체 하시겠습니까?
- 19. Astoria Payload를 대체 하시겠습니까?
- 20. localStorage 쿠키를 대체 하시겠습니까?
- 21. 레일스 update_attribute 대체 하시겠습니까?
- 22. 'gdefault'와 독립적으로 대체 하시겠습니까?
- 23. Javascript에서 window.sessionStorage를 대체 하시겠습니까?
- 24. "grep -R"대체 하시겠습니까?
- 25. CredentialCache를 대체 하시겠습니까?
- 26. JNotify를 대체 하시겠습니까?
- 27. 저작권 날짜를 RegEx로 바꾸기
- 28. Ruby 스크립트에서 Firefox와 여러 탭을 어떻게여십시오?
- 29. HTML을 VBScript Regex로 바꾸기
- 30. RegEx로 수행하는 코드의 내용
코드베이스에서 탭 대신 공백을 사용하는 것처럼 들리는군요. 일부 커밋 스크립트를 통해이를 수행하면 부정적인 결과가 발생할 수 있다는 경고를받습니다. 범죄자의 로컬 저장소/작업 복사본은 최신 버전이 될 것으로 예상되지만 원격 저장소와의 차이점은 변경 사항을 표시합니다. 커밋이 성공한 후에 * 정정을 수행하는 것이 가장 좋습니다. –