需要帮助:查找字符串模式并将其替换为空字符串

时间:2009-09-14 18:04:34

标签: c# regex

我的输入字符串是:

“ - >

职位名称:测试文本
JobId: 56565-116503

城市:圣地亚哥
国家: CA.
邮编: 92108


说明的             我们正在招聘一名财务总监来监督一家不断发展的制造公司的所有会计和财务。我们正在寻找能够进行全周期会计的人

HTTP://www.testurl.com< /应用&GT;&LT; /电子邮件&GT; HTTP://test.xml< / OriginalFetchUrl&GT; HTTP://test.html< / OriginalWrapUrl&GT;&LT; / clientHtml&GT; - &gt;”中

我需要使用C#/正则表达式提取以下字符串:

1.“我们正在招聘一名财务总监,负责监管一家不断发展的制造公司的所有会计和财务。我们正在寻找一位负责全周期会计的人。”

我可以请求代码帮助吗?

感谢阅读。

5 个答案:

答案 0 :(得分:1)

string pattern = @"JobId:.*?City:.*?State:.*?Zip\sCode:\s\d+\s";
string result = Regex.Replace(input, pattern, "");

结果:高级会计师 - 成长型公众公司描述:多方位的跨国公司......

编辑:根据您的修改发表评论。

上述正则表达式应该处理多个描述项。例如:

string input = "Senior Accountant - Growing Public Company JobId: 34441-345877 City: Santa Diego State: CA Zip Code: 93117 Description: 1st description here Description: Multi-faceted multi-national corporation...";

替换结果是:“高级会计师 - 成长中的公众描述:这里的第一个描述描述:多方位的跨国公司......”

答案 1 :(得分:0)

您可以使用以下内容:

 JobId: [^\s]+\sCity: .*?\sState: [A-Z]{2}\sZip Code: [^\s]+\sDescription:

答案 2 :(得分:0)

更新了正则表达式:

Regex.Replace(input, @"JobId:.*?City:.*?State:.*?Zip\s+Code:.*?(?=Description:)","");

答案 3 :(得分:0)

如果您只需要提取Description字段值,那么用空字符串替换所有不需要的东西可能不是最佳解决方案。

假设您的问题可以转过来询问“如何提取描述字段值?”,您需要的正则表达式可以简单如下:

string pattern = @" Description: (.+)$";

然后您可以使用Regex.Match/NextMatch循环来提取所有描述。

答案 4 :(得分:0)

如果你的所有描述都将说明中的地址与“说明:”分开,那么你可以去老派:

string separator = "Description:";
int startIndex = originalText.IndexOf(separator)+separator.Length;
string newText = originalText.Substring(startIndex);