找到特定字符时,将String添加到现有String中

时间:2017-06-26 09:02:08

标签: c# .net string

每当现有String包含以下字符之一时,我想在现有String中添加特定String=+,{ {1}},-*

例如,我想添加/" 测试"进入现有的String: " = ABC DEF + "

结果String应为:" = testABC + testDEF "

我的第一个版本看起来像这样,我认为它有效,但代码很丑陋

String

是否有更短的方法来实现它?

2 个答案:

答案 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);
    }
}