我正在尝试使用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;
答案 0 :(得分:3)
只需使用:
myString = myString.Replace( "\"", String.Empty );
[更新]
String.Empty或“”不是空格char。你写了这个
blah="blah" la="la" ta="ta"
您要转换为
blah blah la la ta ta
所以你还有白色空间。如果你想要这个:
blahblahlalatata
你也需要删除它们:
myString = myString.Replace( "\"", String.Empty ).Replace( " ", String.Empty );
for'='再做一遍,等等......
您的问题需要更精确。
答案 1 :(得分:0)
作为一个快速思考 - 并且可能完全是错误的树吠,但是你不想要像
这样的东西Regex r = new Regex("(\".*\")");
例如,reg。表达“。*”
答案 2 :(得分:0)
这是一种方法。
它将搜索该格式的任何内容:SomeWord =“somethingelse”
并用SomeWord somethingelse替换它
var regex = new Regex(@"(\w+)=\""(.+)\""");
var result = regex.Replace("bla=\"bla\"", "$1 $2");
答案 3 :(得分:0)
我无法帮助你使用正则表达式 无论如何,如果您只需要删除=和“并且可以尝试分割单词:
string[] arr = s
.Replace("="," ")
.Replace("\""," ")
.Split(new string[1] {" "}, StringSplitOptions.RemoveEmptyEntries);
答案 4 :(得分:0)
我在2次传球中做到了
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+", " ");
编辑:
根据评论不同地对待"
和=
。
string input = "blah=\"blah\" la=\"la\" ta=\"ta\"";
//replace " and = with a space
string output = Regex.Replace(input, "\"", String.Empty);
output = Regex.Replace(output, "=", " ");
显然,正则表达式在这里有点矫枉过正。