我經常需要在TextMate中切換兩個值。在TextMate2中使用Search&Replace切換兩個值?
原始文本:
@person = company.person
所需文本:
@company = person.company
什麼做到這一點使用搜索&更換最簡單的方法?
謝謝。
我經常需要在TextMate中切換兩個值。在TextMate2中使用Search&Replace切換兩個值?
原始文本:
@person = company.person
所需文本:
@company = person.company
什麼做到這一點使用搜索&更換最簡單的方法?
謝謝。
你可以做一個簡單的字符串搜索和替換;這是
搜索:
@company = person.company
如果你想(對任何A
和B
@A = B.A
到@B = A.B
)做一些稍微更一般的話,我會變成:@person = company.person
與更換到正則表達式:
搜索:
[@](.*) ?= ?(.*)\.\1
替換:
@$2 = $1.$2
這將交換所有對的形式的@A = B.A
到@B = A.B
(無論間距的=
左右)。確保在「查找&替換」窗口中勾選正則表達式框。
如果你只想要切換與@person
或@company
,而不是別的什麼開始任何對,那麼下面將做到這一點:
搜索:
[@](person||company) ?= ?(.*)\.\1
替換爲:
@$2 = $1.$2
使用正則表達式「或」運算符,||
添加更多術語。你可以爲第二個值做同樣的事情。例如,如果你想只匹配的項目,如manager.
或resources.
,那麼你會使用:
搜索:
@$2 = $1.$2
謝謝,這是非常具有說服力的。儘管如此,這對我來說似乎有點困難。它看起來並不比我的「老方法」容易(用xxx代替人,用人代替公司,用公司代替xxx)。正則表達式令人難以置信的強大,但他們肯定不容易學習。 –
加成:
[@](.*) ?= ?(manager||resources)\.\1
替換爲一個簡單(但有點乏味)的方法是用「xxx」替換「person」,然後用「person」替換「company」,然後用「company」替換「xxx」。 –