草庐IT

C# regex 删除不可打印字符和控制字符,在混合了多种不同语言、unicode 字母的文本中

我很感激你的帮助,因为我不知道要使用哪个范围的字符,或者我是否在ruby​​中找到了像[[:cntrl:]]这样的字符类?通过不可打印,我的意思是删除所有未显示在ie输出中的字符,当一个人打印输入字符串时。请注意,我正在寻找c#正则表达式,我的代码没有问题 最佳答案 您可以使用删除所有控制字符和其他不可打印的字符s=Regex.Replace(s,@"\p{C}+",string.Empty);\p{C}Unicode类别类匹配所有控制字符,甚至是ASCII表之外的字符,因为在.NET中,Unicode类别类默认是Unicode识别

c# - 如何在 C# 中使用正则表达式解析 OData $filter?

您好,我想知道在C#中解析OData$filter字符串的最佳方法是什么,例如/API/organisations?$filter="nameeq'Facebook'ornameeq'Twitter'andsubscribersgt'30'"应返回名称为Facebook或Twitter且拥有超过30个订阅者的所有组织。我已经研究了很多但找不到任何不围绕WCF的解决方案。我正在考虑使用Regex并将它们分组,所以我有一个列表过滤器类使得:FilterResource:NameOperator:EqValue:FacebookFilterResource:NameOperator:EqVa

c# - 正则表达式删除特殊字符

我们需要一个C#函数来删除字符串中的所有特殊字符。此外,是否可以将“George's”更改为“George”(同时删除单引号和字符s)? 最佳答案 此方法将删除除字母、数字和空格之外的所有内容。它还将删除任何后跟字符s的'或"。publicstaticstringRemoveSpecialCharacters(stringinput){Regexr=newRegex("(?:[^a-z0-9]|(? 关于c#-正则表达式删除特殊字符,我们在StackOverflow上找到一个类似的问题:

c# - 是否可以根据正则表达式模式生成示例字符串?

在我的应用程序中,用户可以在文本框中输入他自己的正则表达式模式,这样他就可以强制另一个用户/文本框进行特定输入。用户是否可以看到与他输入的正则表达式相匹配的字符串示例?例如,如果他要输入:^[A-Z]{2}$,它会生成类似“XX”的字符串,以向用户显示他只能输入两个大写字母字母。如果没有简单的方法来完成这个(我假设没有),构建起来会有多困难?或者这样的东西已经存在了吗? 最佳答案 查看Xeger.看起来它可以做你想做的事。不过它是用Java编写的。这是测试套件中的示例:@TestpublicvoidshouldGenerateTex

c# - 用正则表达式换行

为清楚起见而编辑-我知道有多种方法可以分多个步骤执行此操作,或者使用LINQ或普通C#字符串操作。我使用单个正则表达式调用的原因是因为我想练习复杂的正则表达式模式。-结束编辑我正在尝试编写一个将执行自动换行的正则表达式。它非常接近所需的输出,但我无法让它正常工作。Regex.Replace(text,@"(?这是为太长的行正确换行,但它在已经有一个换行符时添加了一个换行符。输入"Thisstringisreallylong.Therearealotofwordsinit.\r\nHere'sanotherlineinthestringthat'salsoverylong."预期输出"T

c# - Linq 语句中的正则表达式?

我正在编写一个简短的C#来解析给定的XML文件。但是其中1个标记值可以更改,但始终在where子句中包含单词“FastStartup”(不考虑大小写和空格,但需要顺序相同)。我不确定如何在C#中的类似sql的语句中执行此操作。varselected=fromcliindoc.Descendants(xmlns+"Result")wherecli.Element(xmlns+"ResultsLocation").Value=="Assessments-Fast-Startup"selectcli; 最佳答案 假设您正在寻找确切的字符串

c# - 如何让正则表达式匹配只添加一次到匹配集合中?

我有一个字符串,其中有几个html注释。我需要计算表达式的唯一匹配项。例如,字符串可能是:varteststring="Hithere";我目前使用它来获取匹配项:varregex=newRegex("");varmatches=regex.Matches(teststring);这是3场比赛的结果。但是,我希望只有2个匹配项,因为只有两个唯一匹配项。我知道我可能可以遍历生成的MatchCollection并删除额外的Match,但我希望有一个更优雅的解决方案。澄清:示例字符串大大简化了实际使用的内容。X8或X9很容易出现,字符串中可能每个都有几十个。 最佳

c# - 如何使正则表达式只匹配完全匹配项?

好的,基本上我有一些代码可以通过正则表达式匹配URL。然后它将根据URL匹配的正则表达式调用一些函数。我从不想为一个URL调用多个函数,我希望正则表达式匹配必须是“精确的”例如,对于简单的URL/我使用一个简单的正则表达式/它将匹配/但它也会匹配诸如/foo和/foo/bar。如何在C#/.Net中防止这种部分匹配行为? 最佳答案 使用^匹配字符串的开头,使用$匹配字符串的结尾。例如:^/$匹配/但不匹配/foo。并且^/匹配/foo但不匹配foo/。 关于c#-如何使正则表达式只匹配完

c# - 正则表达式匹配多个字符串

我需要创建一个可以匹配多个字符串的正则表达式。例如,我想找到所有“好”或“好”的实例。我找到了一些例子,但我想出的似乎不起作用:\b(good|great)\w*\b谁能指出我正确的方向?编辑:我应该注意,我不想只匹配整个单词。例如,我可能还想匹配“ood”或“reat”(部分单词)。编辑2:这是一些示例文本:“这是一个非常棒的故事。”我可能想匹配“this”或“really”,或者我可能想匹配“eall”或“reat”。 最佳答案 如果你能保证在你的单词列表中没有保留的正则表达式字符(或者如果你转义它们),你可以只使用这段代码将一

c# - 如何将 Regex.Matches 放入数组中?

我有多个正则表达式匹配项。如何将它们放入一个数组中并分别调用它们,例如ID[0]ID[1]?stringvalue=("{\"ID\":\"([A-Za-z0-9_.,]+)\",");stringID=Regex.Matches(textt,@value);` 最佳答案 你已经可以做到了,因为MatchCollection有一个intindexer这使您可以按索引访问匹配项。这是完全有效的:MatchCollectionmatches=Regex.Matches(textt,@value);MatchfirstMatch=matc