c# - 使用循环概念从字符串中拆分运算符
问题描述
我有一个查询,就像我有一个输入一样
AB_C + ABC_D/ * ABC_DE/ =ABC.AVO
因为我只需要拆分 (*,+,=) 运算符,其他运算符将采用列表形式。我怎样才能在 c#.net 中实现这一点
我期待输出
list 1={"AB_C","ABC_D/","ABC_DE/","ABC.AVO"}
list 2={"+","*","="}
解决方案
第一个列表可以使用 String.Split() 来实现。第二个列表可以通过遍历输入并查看每个字符来实现:
static void Main(string[] args)
{
string input = "AB_C + ABC_D/ * ABC_DE/ =ABC.AVO";
string operators = "*+=";
List<string> list1 = new List<string>(input.Split(operators.ToArray(), StringSplitOptions.RemoveEmptyEntries));
for(int i =0; i<list1.Count; i++)
{
list1[i] = list1[i].Trim();
}
List<string> list2 = new List<string>();
for(int i = 0; i < input.Length; i++)
{
if(operators.Contains(input.Substring(i,1)))
{
list2.Add(input.Substring(i, 1));
}
}
Console.WriteLine("list1 = " + String.Join(",", list1.ToArray()));
Console.WriteLine("list2 = " + String.Join(",", list2.ToArray()));
Console.ReadLine();
}
请注意,这不会告诉您输入是否有效。例如,可能有两个相邻的运算符,或者在一个运算符之后没有值,等等......
推荐阅读
- c# - C# WPF - 悬停时的自定义菜单项背景
- r - 情节出现在 html 考试中,但不在 pdf 版本中
- spring-boot - springboot中无法加载应用程序属性
- excel - 脚本将创建的过程存储在单行中
- python - Tensorflow,其中(索引)'和'有条件
- design-patterns - 是否有避免使用编程语言类型的做法的名称?
- c - 从 Swift 访问外部 C 数组
- azure - 在 Azure Webapp 上对融合应用程序 (MSA) 进行身份验证
- wordpress - 如何在 woocommerce 插件中添加带有货币代码的点?
- angular - Angular 材质日期选择器 (MatDatepicker) 自动完成焦点出日期