- 檢查變量,並確定最後的2個字符是「ID」
- 如果是的話,將其刪除。
我可以做到這一點,但他們會爆炸,如果有一個「Id」子字符串,而不是結束。是否有一個RemoveFromEnd()方法需要多個字符參數?
if (column.EndsWith("Id"))
{
//remove last 2 characters
column = column.replace("Id", "");
}
我看到this solution:它做到這一點:
column = System.Text.RegularExpressions.Regex.Replace(column, "Id$", "");
但它說,它是相當緩慢的,我要運行該代碼的代碼塊中,我想是非常快,所以我想看看是否有更快的解決方案。
只是好奇如何「慢」正則表達式是(一沒有回溯的末端錨應該是快速的)......雖然在這裏子串可能更合適。 OTOH,與正則表達式沒有明確的條件/ EndsWith。 – 2011-03-12 18:46:20
正則表達式在一般情況下應該更快。您是否嘗試過預編譯或將其存儲爲會員以在您的方法中使用它? (以避免每次創建正則表達式的代價) – jdehaan 2011-03-12 18:58:27
[字符串末尾的trim字符串]的可能重複(http://stackoverflow.com/questions/4226657/trim-string-at-the-end-of字符串) – nawfal 2014-01-05 11:20:09