简单的正则表达式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过正。