如何获得拆分的字符
本文关键字:字符 拆分 何获得 | 更新日期: 2023-09-27 17:49:28
我需要使用任何运算符(如"+"、"-"、"*"或"/"(拆分字符串。如何在拆分原始字符串的同时将相同的字符串附加到另一个字符串?
例如:原始字符串为:Viewer.Amount + Payment - 100
Output : [Viewer.Amount] + [Payment] - 100;
我需要用[]来包装单词,这就是我使用split的原因。我选择运算符作为拆分字符,并需要将它们附加到我的最终字符串中。
请帮忙。非常感谢。
也许这样可以。
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);
}
不清楚你想做什么,所以你可能需要考虑编辑你的问题,并更加具体。
但如果我不得不猜测的话,这将帮助您检索评估中的值。
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();
因此,通过以上内容,您将检索到26200和100。
如果我是你,我就不会使用split。相反,可以使用regex-replace,也可以自己滚动。以([A-Za-z'.]+)
static string Magic(string str)
{
Regex r = new Regex(@"([A-Za-z'.'d]+)");
return r.Replace(str, "[$0]");
}
输出:"[Viewer.Amount] + [Payment] - [100]"