【发布时间】:2012-04-12 10:06:31
【问题描述】:
我有这个字符串:
“B82V16814133260”
从中获取两个字符串的最有效方法是什么:
左部分字符串:“B82V” 右部分字符串:“16814133260”
规则是这样的:取出右侧的所有数字并从中创建字符串,然后取出提醒并将其放入另一个字符串中。
这是我的解决方案,但它太笨重了!如何做到又短又高效?
String leftString = "";
String rightString="";
foreach (char A in textBox13.Text.Reverse())
{
if (Char.IsNumber(A))
{
rightString += A;
}
else
{
break;
}
}
char[] arr = rightString.ToArray();
Array.Reverse(arr);
rightString=new string(arr);
leftString = textBox13.Text.Replace(rightString, "");
【问题讨论】:
-
efficient是什么意思?内存效率高还是性能高? -
出于好奇,为什么您的解决方案“过于庞大”?对我来说,这似乎是一个很好的功能长度。
-
我会发布相关的正则表达式,但我向上帝发誓,如果其他人先发布它......
-
你现在有什么问题吗?
-
@Bob2Chiv 所有的字符串连接都相当低效。 StringBuilder 会有所帮助,但正则表达式可以通过一次和一份副本完成所有工作。
标签: c# string optimization split string-split