我需要使用任何运算符(例如'+',' - ','*'或'/')来分割字符串。如何在拆分原始字符串时将其附加到另一个字符串?
例如:原始字符串为:Viewer.Amount + Payment - 100
Output : [Viewer.Amount] + [Payment] - 100;
我需要用[]包装单词,这就是我使用split的原因。我选择运算符作为拆分字符,我需要将它们附加到我的最终字符串。
请帮助。谢谢。
答案 0 :(得分:1)
也许这有用。
string[] values = providedString.Split({'+', '-', '*' /*etc...*/});
string replaced;
string newString;
for(int i = 0; i < values.Length; i++)
{
if(Int32.TryParse(value[i], out number))
continue;
replaced = "["+values[i]+"]";
newString = providedString.Replace(values[i], replaced);
}
答案 1 :(得分:0)
目前还不清楚你要做什么,所以你可能想要考虑编辑你的问题并更具体。
但如果我不得不猜测,这将有助于您在评估中检索值。
string operation = "[26] + [200] - [100]";
List<string> values = new List<string>();
var items = operation.Split('[');
for (int i = 1; i < items.Length; i++)
{
values.Add(items[i].Substring(0, items[i].IndexOf(']')));
}
foreach (var value in values)
{
Console.WriteLine(value);
}
Console.ReadKey();
因此,使用上述内容,您将检索26,200和100。
答案 2 :(得分:0)
([A-Za-z\.]+)
答案 3 :(得分:0)
static string Magic(string str)
{
Regex r = new Regex(@"([A-Za-z\.\d]+)");
return r.Replace(str, "[$0]");
}
输出:"[Viewer.Amount] + [Payment] - [100]"