浏览字符串并检查是否包含字符并将之前的字符保存在列表中
本文关键字:字符 保存 列表 存在 串并 字符串 检查 是否 浏览 包含 | 更新日期: 2023-09-27 17:56:45
我想通过一个字符串,并检查字符串中是否有可用的字符。例如:我的字符串是:string test = "100+20+3-17+2"
所以现在我检查我的字符串并检查字符:
List<string> numbers= new List<string>();
foreach( char c in test)
{
if (c =='+'|| c =='-'||c =='/'||c =='*')
{
//Now here i want to save all chars before '+' '-' '/' '*' in my list numbers. in this example: save 100, 20,3,17,2 in my list
}
}
你会怎么做?
只需将字符串与字符分开即可
List<string> numbers = new List<string>();
string test = "100+20+3-17+2";
char[] chars = new char[] { '+', '-', '*', '/' };
numbers = test.Split(chars).ToList();
如果字符不在"+"、"-"、"/"、"*"中,则可以将字符串联成字符串。当运算符来时,您可以将刺添加到列表中,并空字符串
List<string> numbers= new List<string>();
string curNumber="";
foreach( char c in test)
{
if (c =='+'|| c =='-'||c =='/'||c =='*')
{
numbers.Add(curNumber);
curNumber="";
}
else
{
//also you can add operators in other list here
curNumber+=c.ToString();
}
}
numbers.Add(curNumber);
我会使用StringBuilder。当您浏览原始字符串以检查字符时,将它们添加到字符串生成器中。当您找到拆分字符时,请在列表中添加 StringBuilder.ToString 并清空 StringBuilder。
代码应如下所示(尚未测试):
List<string> numbers= new List<string>();
StringBuilder sb = new StringBuilder();
foreach( char c in test)
{
if (c =='+'|| c =='-'||c =='/'||c =='*')
{
//Now here i want to save all chars before '+' '-' '/' '*' in my list numbers. in this example: save 100, 20,3,17,2 in my list
numbers.Add(sb.ToString());
sb.Clear();
}
else
{
sb.Append(c);
}
}
使用 String.Split(Char[])
获取拆分字符串的数组