我目前在代码类型= type.Replace("TRIM", "RTRIM");
type = type.Replace("TRIM", "RTRIM");
StringBuilder builder =newStringBuilder();
builder.AppendLine(" .....bla bla...");
if (type.Trim() != ""){
builder.AppendLine(@" WHERE ({0}) ");
}
数据库当前{0}值为
- TRIM(VL9)LIKE'{1}%'
- TRIM(VL7)喜欢'{0}%' 3.(TRIM(VL9)LIKE'{0}%'))
- (VL9 LIKE'{1}%'AND(TRIM(VL9)LIKE'{0}%'))
醇>
这是一个庞大的数据库,并且替换功能在许多地方的许多文件中使用。将来他们会在数据库中将TRIM
更改为RTRIM
,然后在代码(.cs文件)中将替换字符串变为
RRTRIM
给了我们一个错误。
是否有任何简单的代码方法可以在现在和未来的更改后使用?
PS:最初的.cs查询在DB2中,现在已更改为SQL SERVER查询,现在他们将在db中进行更改,如将TRIM
更改为RTRIM
)
答案 0 :(得分:0)
以下代码仅在没有" RTRIM"在类型:
if (!type.contains("RTRIM"))
{
type = type.Replace("TRIM", "RTRIM");
if (!type.contains("RRTRIM"))
{
type = type.Replace("RRTRIM", "RTRIM");
}
StringBuilder builder =newStringBuilder();
builder.AppendLine(" .....bla bla...");
if (type.Trim() != ""){
builder.AppendLine(@" WHERE ({0}) ");
}
}
但是因为你可能已经有了rrtrim的地方,甚至rrrtrim你可以这样做:
type = type.Replace("TRIM", "RTRIM");
type = type.Replace("RRTRIM", "RTRIM");
type = type.Replace("RRRTRIM", "RTRIM");
StringBuilder builder =newStringBuilder();
builder.AppendLine(" .....bla bla...");
if (type.Trim() != ""){
builder.AppendLine(@" WHERE ({0}) ");
答案 1 :(得分:0)
使用正则表达式。 How to search and replace exact matching strings only
另一个简单的黑客可以先用TRIM替换所有RTRIM,然后用RTRIM替换TRIM
type.Replace("RTRIM","TRIM").Replace("TRIM","RTRIM")