誰かが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スペースで置き換える必要がありますが、 1つは第2列に7つのスペース、第3列には1つ6桁分のmnなどです。
関連する問題
- 1. JavaScript REGEXにすべてマッチして置き換えます。
- 2. #regex動的マッチの問題を置き換えますか?
- 3. ruby regexで検索して置き換えます
- 4. jquery regexは2つのデリミタの間を置き換えます
- 5. Visual Studioをタブを4つのスペースに置き換えますか?
- 6. javascript regexは非ワードとスペースを置き換えても機能しません。
- 7. アンドロイド2スペースがカンマに置き換えられました
- 8. Androidはregexで置き換えます
- 9. Regexで置き換えます
- 10. Ajaxでスペースを置き換えます+
- 11. Sublime Text 2 RegEx nをn + 1に置き換えます
- 12. 2つ以上のスペースを&nbspに置き換えてください。&nbsp
- 13. Javascript Regexを置き換えます
- 14. ハイフンをスペースで置き換えてもスペースをハイフンスペースに置き換えないでください
- 15. 連続したスペース、タブ、改行文字セットを置き換えます。
- 16. Regexはすべてのカンマを値に置き換えます
- 17. Javascript Regex:複数の単語をすべての出現のためのスペースで置き換えますか?
- 18. 置き換え変数を使用してRegexを検索して置き換えます
- 19. 2つの用語を一括で置き換えますか?
- 20. Regexを使用して '$'を置き換えます。
- 21. RegExを使用してプロパティ値を置き換えます
- 22. " - "を1つのスペースに置き換えますか?置換メソッドが動作しない
- 23. 最後に現れるスペースをsedと置き換えます
- 24. regex find - >見つけて置き換える
- 25. いくつかのコードをPHPの空白スペースに置き換えます
- 26. PostgreSQL 8.3のRegexの置き換え
- 27. RegExとJavaScriptに置き換えてください
- 28. OpenSearchのURLのスペース置換に '+'(プラス)を ' - '(ダッシュ)に置き換えます。
- 29. Regexのより速い置き換え
- 30. 複数のスペースを1つだけに置き換える?
これはコードベースでタブの代わりにスペースを使用しているようです。コミットフックスクリプトを使ってこれを行うと、悪影響を受ける可能性があることに注意してください。犯罪者のローカルリポジトリ/作業コピーは最新であると予想されますが、リモートリポジトリとの差分には変更が反映されます。この種の修正を行うのが最善です*コミットが成功した後*。 –