每当现有String
包含以下字符之一时,我想在现有String
中添加特定String
:=
,+
,{ {1}},-
或*
。
例如,我想添加/
" 测试"进入现有的String
:
" = ABC DEF + "
结果String
应为:" = testABC + testDEF "
我的第一个版本看起来像这样,我认为它有效,但代码很丑陋
String
是否有更短的方法来实现它?
答案 0 :(得分:5)
如果您希望您的代码更优雅,请使用Regex。
using System.Text.RegularExpressions;
string originalFormula = ...;
var replacedString = Regex.Replace(myString, "[-+*/=]", "$&test");
为了更好地理解:
[-+*/=]
将要检查字符串的字符分组。 $&test
将找到的字符替换为匹配项($&
)并将test
添加到其中。
答案 1 :(得分:-1)
如果您的问题是您的代码看起来很丑,也许您可以重写它以使用列表而不是......
List<char> characters = new List<char> { '+', '-', '*', '/' };
foreach (var c in characters)
{
string newValue = String.Format("{0}{1}", c, somethingElse);
if (originalForumla.Contains(c);
{
newForumla = originalFormula.Replace(c, newValue);
}
}