Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 编辑richtextbox以仅保留包含下划线的单词_C#_Regex_Richtextbox - Fatal编程技术网

C# 编辑richtextbox以仅保留包含下划线的单词

C# 编辑richtextbox以仅保留包含下划线的单词,c#,regex,richtextbox,C#,Regex,Richtextbox,我需要一些帮助来定义如何编辑RichTextBox中的文本。 例如,我将在RichTextBox中粘贴以下文本: "Release to user USER the roles: ZBR_POA_FIL_APOIO_GESTAO, ZBR_REC_FIL_SUPPORT, ZBR_RJO_CD_FIL_SUPPORT, ZBR_SVD_CD_FIL_SUPPORT, Z_GENERAL_OBJECTS, Z_DEBUG, Z_CHECK" 然后我想编辑它,只保留包含下划线的文本,并将它们分隔成

我需要一些帮助来定义如何编辑RichTextBox中的文本。 例如,我将在RichTextBox中粘贴以下文本:

"Release to user USER the roles: ZBR_POA_FIL_APOIO_GESTAO, ZBR_REC_FIL_SUPPORT, ZBR_RJO_CD_FIL_SUPPORT, ZBR_SVD_CD_FIL_SUPPORT, Z_GENERAL_OBJECTS, Z_DEBUG, Z_CHECK"
然后我想编辑它,只保留包含下划线的文本,并将它们分隔成一行,如下所示:

ZBR_POA_FIL_APOIO_GESTAO
ZBR_REC_FIL_SUPPORT
ZBR_RJO_CD_FIL_SUPPORT
ZBR_SVD_CD_FIL_SUPPORT
Z_GENERAL_OBJECTS
Z_DEBUG
Z_CHECK
我想我可能应该使用正则表达式来实现这一点,但我运气不太好。

publicstringformatstring(strings)
public string FormatString(string s)
{
String[] array=Regex.Matches(@"\b(?=\w*_)\w+\b",s)
                    .Cast<Match>()
                    .Select(x=>x.Value).ToArray();
return String.Join("\n",array);
}
{ String[]array=Regex.Matches(@“\b(?=\w*\u)\w+\b”,s) .Cast() .Select(x=>x.Value).ToArray(); 返回字符串。Join(“\n”,数组); }
到目前为止你试过什么吗?是的,Jerry,我已经试过很多方法,但我唯一能做的就是把每一行的空格都打断(实际上没有任何秘密),现在我只想保留包含下划线的行,删除没有下划线的行,然后删除空行。我最需要的是:如何只保留包含下划线的行?谢谢Luis。比我想象的简单多了。向你问好,谢谢你,阿尼鲁德。我现在不打算使用这个函数,但它帮助我理解了更多的正则表达式,这对我将来会很有帮助。致以最良好的问候,保罗·罗查
var text = @"Release to user USER the roles: ZBR_POA_FIL_APOIO_GESTAO, ZBR_REC_FIL_SUPPORT, ZBR_RJO_CD_FIL_SUPPORT, ZBR_SVD_CD_FIL_SUPPORT, Z_GENERAL_OBJECTS, Z_DEBUG, Z_CHECK";
var words = text.Split(new[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries);
var wordsWithUnderscores = words.Where(o => o.Contains("_")).ToArray();

foreach(var word in wordsWithUnderscores) {
    Console.WriteLine(word);
}