认为我有以下字符串:如何替换部分字符串?
string str1 = "<tag tsdfg> some other random text";
string str2 = "<tag sdfgsdfgfsdg> some other random text";
string str3 = "<tag 1564> some other random text";
我想改变这些字符串
"<tag> some other random text"
认为我有以下字符串:如何替换部分字符串?
string str1 = "<tag tsdfg> some other random text";
string str2 = "<tag sdfgsdfgfsdg> some other random text";
string str3 = "<tag 1564> some other random text";
我想改变这些字符串
"<tag> some other random text"
我认为你需要'“\
你是对的,在OP案例中,它不会被需要,但作为一个通用的解决方案,是的。将编辑 – Jcl
您可以使用正则表达式替换标签内的所有任意文本
Regex.Replace("<tag tsdfg> some random text", @"<(.*)?\s+(.*)?>", "<$1>");
这将有效地替换任何标签末尾的空格后面的文本。
尝试
str1.Replace((str1.Substring(str1.IndexOf("<"), str1.IndexOf(">"))), "<tag>");
,你可以这样做:
str1="<tag>" + str1.Remove(0, str1.IndexOf(">") + 1);
从索引0消除了> +1,然后将它添加到 “标签”
那没有达到要求 –
@JustinHarvey我编辑它为什么不呢? –
他正在尝试将其更改为删除标签内的“tsdfg”。 –
如果<tag
后,总是会有一个空白,那么你可以使用Split()
这样:
string str1 = "<tag tsdfg> some other random text";
string values = str1.Split(' ')[0]+">";
你也可以做到这一点这样:
string str = "<tag tsdfg> some other random text";
string newStr = new string(str.TakeWhile(c => !Char.IsWhiteSpace(c))
.Concat(str.SkipWhile(c => c != '>'))
.ToArray());
Console.WriteLine(newStr); // "<tag> some other random text"
让我们把它至少一次不像不是拆卸或更换,但提取其他的解决方案; - ]
string str1 = "<tag tsdfg> some other random text";
Match match = Regex.Match(str1, @"\<(tag).+?\>(.+)");
string result = String.Format("<{0}>{1}", match.Groups[1].Value, match.Groups[2].Value);
Console.WriteLine(result);
'STR1 = STR2 = STR3 = “”'? :) –
嗯我给了一个坏例子:p – maartenvdv
@SonerGönül实际上'str1 = str2 = str3 =“其他一些随机文本”'为了正确! :-D –
Jcl