我把一段HTML代码转成纯文本,但是有很多多余的回车和空格,如何去除? 最佳答案 stringnew_string=Regex.Replace(orig_string,@"\s","")将删除所有空格stringnew_string=Regex.Replace(orig_string,@"\s+","")会将多个空格合并为一个 关于c#-如何通过正则表达式删除字符串中多余的回车和空格?,我们在StackOverflow上找到一个类似的问题: https://s
可以使用什么正则表达式进行以下转换?City->CITYFirstName->FIRST_NAMEDOB->DOBPATId->PAT_IDRoomNO->ROOM_NO以下几乎可以工作-它只是在单词的开头添加了一个额外的下划线:varrgx=@"(?x)([A-Z][a-z,0-9]+|[A-Z]+(?![a-z]))";vartests=newstring[]{"City","FirstName","DOB","PATId","RoomNO"};foreach(vartestintests)Console.WriteLine("{0}->{1}",test,Regex.Replac
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭9年前。我什么时候应该在字符串操作上使用正则表达式,反之亦然,仅考虑性能?
我有一个字符串,里面有一些不可打印的ascii字符,比如:"ABCD\x09\x05\r\n"我想用十六进制代码数字的ascii字符串表示替换这些字符,所以我得到如下内容:"ABCD[09][05][0D][0A]"最好的方法是什么?可以使用正则表达式吗? 最佳答案 模式\p{Cc}匹配任何控制字符,所以Regex.Replace(input,@"\p{Cc}",a=>string.Format("[{0:X2}]",(byte)a.Value[0]));也将替换控制字符。 关于c#-.
我需要在C#中拆分一个字符串,如下所示:字符串是这样的:0000120400567开头总是0。在上面的示例中,有六个零后跟120400567。我想拆分我得到的最后一部分120400567的字符串。开头零的数量可能会改变(最后一个零件号将增加一个数字)这意味着我们可以有001245878945而我想要的是1245878945。我怎样才能拆分这个字符串,去掉第一个0或第一个x数量的零,只得到结束数字?可能是因为数字的开头没有任何零,数字直接从第一个数字开始......但也可能是数字包含8个零和2个或更多的数字。 最佳答案 stringw
我需要从字符串中获取所有子字符串。例如:StringParser.GetSubstrings("[start]aaaaaa[end]wwwww[start]cccccc[end]","[start]","[end]");返回2个字符串“aaaaaa”和“cccccc”假设我们只有一层嵌套。不确定正则表达式,但我认为它会很有用。 最佳答案 privateIEnumerableGetSubStrings(stringinput,stringstart,stringend){Regexr=newRegex(Regex.Escape(sta
对于聊天机器人,如果有人说“!say”,它会在空格后背诵你说的话。简单。示例输入:!saythisisatest期望的输出:thisisatest为了论证,字符串可以表示为s。s.Split('')产生一个数组。s.Split('')[1]只是空格后的第一个单词,关于完全划分并得到第一个空格后的所有个单词有什么想法吗?我试过类似的方法:s.Split('');for(inti=0;i>s.Length;i++){if(s[i]=="!say"){s[i]="";}}输入是:!saythisisatest输出:!say这显然不是我想要的:p(我知道这个问题有几个答案,但在我搜索的地方没有
我想格式化一个看起来像这样的字符串BPT4SH9R0XJ6进入看起来像这样的东西BPT4-SH9R-0XJ6字符串总是由12个字母和数字组成非常感谢任何建议,谢谢 最佳答案 试试Regex.Replace(input,@"(\w{4})(\w{4})(\w{4})",@"$1-$2-$3");正则表达式经常被mock,但它是一种非常巧妙的方式来满足您的需要。可以扩展到使用字符串方法难以满足的更复杂的需求。 关于c#-在C#中使用正则表达式格式化字符串,我们在StackOverflow上找
我有一个声明:我有一个字符串,例如content="*test*"我想搜索并替换它,所以当我完成时,字符串包含以下内容:content="(*)test(*)"我的代码是:content=Regex.Replace(content,"*","(*)");但这会导致C#出错,因为它认为*是正则表达式语法的一部分。我如何修改此代码,以便将我的字符串中的所有星号更改为(*)而不会导致运行时错误? 最佳答案 由于*是正则表达式元字符,当您需要它作为字符类定义之外的文字星号时,需要使用\将其转义为\*。在C#中,您可以将其写为"\\*"或@"
因此,如果我编写一个匹配的正则表达式,我可以获得匹配项或者我可以访问它的组。这似乎违反直觉,因为组是在表达式中用大括号“(”和“)”定义的。这似乎不仅是错误的,而且是多余的。有谁知道为什么吗?RegexquickCheck=newRegex(@"(\D+)\d+");stringsource="abc123";m.Value//Equalssourcem.Groups.Count//Equals2m.Groups[0])//Equalssourcem.Groups[1])//Equals"abc" 最佳答案 我同意-这有点奇怪,但我