gpt4 book ai didi

c# - 如何在不使用 Regex 的情况下将通配符与 Replace() 一起使用

转载 作者:行者123 更新时间:2023-11-30 20:50:51 27 4
gpt4 key购买 nike

我想知道如何在不使用正则表达式的情况下使用字符串替换。我有一个用于 YouTube 嵌入链接的字符串...即,

<iframe width="560" height="315" src="//www.youtube.com/embed/Zf45Sxlg7Lk" frameborder="0" allowfullscreen></iframe>

我有一个设定大小的容器,我需要用容器的大小替换宽度和高度。

string myStr = "<iframe width="560" height="315" src="//www.youtube.com/embed/Zf45Sxlg7Lk" frameborder="0" allowfullscreen></iframe>";
string myStr2;
myStr2 = myStr.Replace("width=''", "width='400'");

那行不通,所以我假设我需要在替换时使用通配符。我看过使用 Regex 的示例,但我想知道它是如何使用 String.Replace() 完成的。

我可以只使用 Remove(),但我永远无法确定当嵌入其他视频时,嵌入链接是否与其他视频相同。

最佳答案

String.Replace does only accept a char or a string如果匹配源字符串中的 exactly,它将被替换为新的。没有逻辑作为通配符..(只有转义和表示字符串的系统属性 - System.Environment.NewLine)。

替换字符串的最好方法是通过 RegEx.Replace(myStr, "width=\"\d*\"", "width=\"400\"") 或一些变体你的口味。

如果你想避免 RegEx.Replace,你可以使用 String methods 的一些组合发挥您的创造力。

例如,您可以使用:
- String.Split + String.Replace + String.Join.
- String.IndexOf("width=") + String.SubString...

但我打赌没有人会这样maintainableKISS作为正则表达式。

关于c# - 如何在不使用 Regex 的情况下将通配符与 Replace() 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22239749/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com