[英]Does Ruby have a method similar to Emacs align-regexp?
尋找一種可對字符串數組進行操作的Ruby方法,並根據作為參數給出的正則表達式將它們對齊。 Emacs有一個稱為align-regexp的defun,當在緩沖區的某個區域上進行操作時,它將以交互方式進行此操作。
這是align-regexp的emacs文檔字符串的一部分。
例如,假設您有一個電話號碼列表,並希望將它們對齊,以使左括號對齊:
Fred (123) 456-7890
Alice (123) 456-7890
Mary-Anne (123) 456-7890
Joe (123) 456-7890
沒有預定義的規則可以處理此問題,但是您可以使用REGEXP(例如“(”)輕松完成此操作。您要做的就是標記該區域,調用“ align-regexp”並鍵入該正則表達式。結果:
Fred (123) 456-7890
Alice (123) 456-7890
Mary-Anne (123) 456-7890
Joe (123) 456-7890
lines = [
'Fred (123) 456-7890',
'Alice (123) 456-7890',
'Mary-Anne (123) 456-7890',
'Joe (123) 456-7890',
]
rows = lines.map { |line| line.partition('(') }
pos = rows.map { |row| row[0].size }.max
puts rows.map { |row| row[0] = row[0].ljust(pos); row.join }
輸出:
Fred (123) 456-7890
Alice (123) 456-7890
Mary-Anne (123) 456-7890
Joe (123) 456-7890
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.