C# 在C中,什么可以代替字符串替换#
我目前正在代码类型C# 在C中,什么可以代替字符串替换#,c#,regex,string,replace,regex-lookarounds,C#,Regex,String,Replace,Regex Lookarounds,我目前正在代码类型=type.replace(“TRIM”、“RTRIM”)的某些部分中使用字符串replace 数据库当前{0}值为 修剪(VL9)像“{1}%” 修剪(VL7)像“{0}%” 3.(TRIM(VL9)像{0}%')) (VL9类似于'{1}%'和(TRIM(VL9)类似于'{0}%')) 这是一个巨大的数据库,替换功能在许多地方的许多文件中使用。将来,他们会将数据库中的TRIM更改为RTRIM,因此在代码(.cs文件)中,替换字符串变为 RRTRIM这给了我们一个错误 有没有
=type.replace(“TRIM”、“RTRIM”)的某些部分中使用字符串replace代码>
数据库当前{0}值为
修剪(VL9)像“{1}%”
修剪(VL7)像“{0}%”
3.(TRIM(VL9)像{0}%'))
(VL9类似于'{1}%'和(TRIM(VL9)类似于'{0}%'))
这是一个巨大的数据库,替换功能在许多地方的许多文件中使用。将来,他们会将数据库中的TRIM
更改为RTRIM
,因此在代码(.cs文件)中,替换字符串变为
RRTRIM
这给了我们一个错误
有没有什么简单的方法来编写代码,这些代码在现在和将来的更改后都可以使用
PS:最初.cs查询在DB2中,现在改为SQL SERVER查询,现在它们将在db中进行更改,如将TRIM
更改为RTRIM
)以下代码仅在类型中没有“RTRIM”时运行:
但由于您可能已经有了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}) ");
使用正则表达式。
另一个简单的方法是首先用TRIM替换所有RTRIM,然后用RTRIM替换TRIM
type.Replace("RTRIM","TRIM").Replace("TRIM","RTRIM")
可以使用正则表达式,但对于简单的点替换来说,它可能有点过头了。。这将再次使RTRIM和RRTRIM。。那么我们能做些什么呢。。??我正在尝试使用REGEX..REGEX.Replace(type,“(?I)[^A-Za-z]Trim”,“RTRIM”);输出是RTRIM VL9,类似于“{1}%”,RTRIM(VL9)类似于“{0}%”))替换时缺少一个大括号,如何忽略这一点。这里如何使用正则表达式?假设数据库值是RTRIM VL9,比如“{1}%”和(TRIM(VL9)比如“{0}%”)。。这将再次使RTRIM和RRTRIM。。那么我们能做些什么呢。。??我正在尝试使用REGEX..REGEX.Replace(type,“(?I)[^A-Za-z]Trim”,“RTRIM”);输出是RTRIM VL9,类似于“{1}%”,RTRIM(VL9)类似于“{0}%”))替换时缺少一个大括号,如何忽略这一点。如何在此处使用正则表达式?请参阅更新。这将更新所有这些文件,然后修复任何错误。我猜您正在尝试代码,有些东西已经更改了,有些没有,所以应该可以工作。它可以工作,但如果您看到RTRIM VL9像{1}%'和RTRIM(VL9)像{0}%'),作为查询的一部分的代码可能会抛出一个错误,比如“(“缺少哪个”(TRIM)被“RTRIM”替换。”。我怎么能让“TRIM”被替换为“RTRIM”并让“(”字符保持原样。上面的代码没有修剪任何括号。我认为您的正则表达式代码[A-Za-z]修剪这个而不是(?i)[^A-Za-z]修剪有问题
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}) ");
type.Replace("RTRIM","TRIM").Replace("TRIM","RTRIM")