使用C Sharp中的正则表达式从字符串中删除数据

时间:2014-04-05 17:52:23

标签: regex

我肯定不习惯使用正则表达式但真的很酷!现在我希望能够只得到名字" table"在这个字符串中:

[schema].[table]

我想删除架构名称,方括号和点。

所以我只得到工作表

我试过了:

string output = Regex.Replace(reader["Name"].ToString(), @"[\[\.\]]", "");

3 个答案:

答案 0 :(得分:0)

所以你came up有了新想法?您可以尝试以下方法:

string input = "[schema].[table]";

// replacing the first thing into [] with the dot with empty
string one = Regex.Replace(input, @"^\[.*?\]\.", "");

// or replacing anything before the dot with empty
// string two = Regex.Replace(input, @".*[.]", "");

答案 1 :(得分:0)

试试这个

string strRegex = @"^\[.*?\]\.";
Regex myRegex = new Regex(strRegex, RegexOptions.None);
string strTargetString = @"[schema].[table]";
string strReplace = @"";

var result=myRegex.Replace(strTargetString, strReplace);
Console.WriteLine(result);

答案 2 :(得分:0)

如果您只想提取字符串的一部分,为什么要进行替换?

string table = Regex.Match("[schema].[table]", @"\w+(?=]$)").Value;

即使您没有架构,它也能正常工作。