如何解决简单的正则表达式c#,替换和拆分问题
| 我正在尝试使用Regex从字符串中删除\“。 我正在将一个字符串接收到一个方法中,我想将其取为字符串,并将其拆分为字符串中的单词。 我的代码在下面,希望您能看到我在做什么。 我遇到的问题是试图告诉Regex我想删除\“。我尝试了多种方式:我在Google上搜索了答案,不得不在这里使用。search_string
看起来像这样:blah=\"blah\" la=\"la\" ta=\"ta\"
,最后我只想要the2ѭ。
public blahblah blahblah(blah blah,string search_string)
{
Regex r = new Regex(@\"/\"+\");
string s3 = r.Replace(search_string,@\" \");
Regex r2 = new Regex(\" \");
Regex r3 = new Regex(\"=\");
string[] new_Split = { };
string[] split_String = r2.Split(s3);
foreach (string match in split_String)
{
new_Split = r3.Split(match);
}
//do blahblah stuff with new_Split[1] .. etc
// new_Split[0] should be blah and new_Split[1] should
// be blah with out \"\",not \"blah\"
return blah_Found;
解决方法
只需使用:
myString = myString.Replace( \"\\\"\",String.Empty );
[更新]
String.Empty或\“ \”不是空格。你写这个
blah=\"blah\" la=\"la\" ta=\"ta\"
您想要转换为
blah blah la la ta ta
所以无论如何,您都有空白。如果要这样:
blahblahlalatata
您也需要删除它们:
myString = myString.Replace( \"\\\"\",String.Empty ).Replace( \" \",String.Empty );
为\'= \'再做一次,依此类推...
您需要更精确地回答问题。
, 快速思考-吠叫可能完全是错误的树,但是您是否想要类似的东西
Regex r = new Regex(\"(\\\".*\\\")\");
例如,\“。* \”的正则表达式
, 这是一种方法。
它将搜索该格式的任何内容:SomeWord = \“ somethingelse \”
并替换为SomeWord
var regex = new Regex(@\"(\\w+)=\\\"\"(.+)\\\"\"\");
var result = regex.Replace(\"bla=\\\"bla\\\"\",\"$1 $2\");
, 使用Regex我帮不上忙。
无论如何,如果您只需要删除=和\“并拆分单词,则可以尝试:
string[] arr = s
.Replace(\"=\",\" \")
.Replace(\"\\\"\",\" \")
.Split(new string[1] {\" \"},StringSplitOptions.RemoveEmptyEntries);
, 我做了两遍
string input = \"blah=\\\"blah\\\" la=\\\"la\\\" ta=\\\"ta\\\"\";
//replace \" and = with a space
string output = Regex.Replace(input,\"[\\\"=]\",\" \");
//condense the spaces
output = Regex.Replace(output,@\"\\s+\",\" \");
编辑:
根据注释将ѭ13和ѭ14区别对待。
string input = \"blah=\\\"blah\\\" la=\\\"la\\\" ta=\\\"ta\\\"\";
//replace \" and = with a space
string output = Regex.Replace(input,\"\\\"\",String.Empty);
output = Regex.Replace(output,\"=\",\" \");
显然,正则表达式在这里有点矫kill过正。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。