这是我的一些字符串示例:
- 消息:这是消息2.消息:这是消息3.消息:这是我想只在结果中看到的消息
醇>
根据这个例子,我想得到结果:
这是我想只在结果中看到的消息
我的字符串中可能有多个x. message:
个句子。
我想删除那些重复的邮件
任何想法?
增加:
我的问题是关于一些销售工具和打印报告。我现在运行的代码如下所示:
private void OnBeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) {
string a = xtraReport1.GetCurrentColumnValue("Paczka_Notatki").ToString();
xrTableCell3.Text = a;
}
当我将其更改为:
private void OnBeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) {
var str = xtraReport1.GetCurrentColumnValue("Paczka_Notatki").ToString();
foreach (var message in Regex.Split(str, @"\d+\. message: ")
.GroupBy(m => m)
.Where(m => m.Count() == 1 && m.Key != string.Empty)
.Select(m => new { message = m.Key }))
{
xrTableCell3.Text = message.message;
}
}
然后我遇到了很多错误:
答案 0 :(得分:2)
一种方式:
foreach (var message in Regex.Split(str, @"\d+\. message: ")
.GroupBy(m => m)
.Where(m => m.Count() == 1 && m.Key != string.Empty)
.Select(m => new { message = m.Key }))
{
Console.WriteLine(message.message);
}
答案 1 :(得分:1)
从这个简单的正则表达式开始,您将获得结果。
\d{1,}\.\smessage:\s(?<Message>[\D\s]+)
答案 2 :(得分:0)
String text = xtraReport1.GetCurrentColumnValue("Paczka_Notatki").ToString();
string finalNote = "";
string[] notes = System.Text.RegularExpressions.Regex.Split(text, @"\d{1,}\.\smessage:(?<Message>[\D\s]+)");
foreach (string note in notes)
{
if (!String.IsNullOrEmpty(note) && finalNote.IndexOf(note) == -1)
finalNote += note;
}
xrTableCell3.Text = finalNote;
谢谢你们的支持!!!