简单Regex c#,替换和拆分问题

本文关键字:拆分 问题 替换 Regex 简单 | 更新日期: 2023-09-27 17:58:12

我正试图使用Regex.从字符串中删除"

我正在将一个字符串接收到一个方法中,我想将该字符串拆分为字符串中的单词。

我的代码在下面,希望你能看到我在做什么。

我遇到的问题是试图告诉Regex"这是我想删除的。我尝试了很多方法:我在谷歌上搜索了答案,不得不求助于这里。

search_string看起来是这样的:blah="blah" la="la" ta="ta",最后我只想要blah blah la la ta ta

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;

简单Regex c#,替换和拆分问题

只需使用:

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("('".*'")");

例如,".*"的reg表达式

这是一种方法。它将搜索该形式的任何内容: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+", " ");

编辑:
对CCD_ 4和CCD_。

string input = "blah='"blah'" la='"la'" ta='"ta'"";
//replace " and = with a space
string output = Regex.Replace(input, "'"", String.Empty);
output = Regex.Replace(output, "=", " ");  

很明显,regex在这里有点过头了。