- 检查变量,并确定最后的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