c#中如何除去字符串中的数字
Console.Write("请输入一个字符串");strings=Console.ReadLine();for(inti=0;i<s.Length;i++){if(ch...
Console.Write("请输入一个字符串");
string s = Console.ReadLine();
for (int i = 0; i < s.Length; i++)
{
if (char.IsDigit(s[i]))
{
s.Remove(i, 1);
}
Console.WriteLine("数字出现的次数为:" + s);
}
为什么这样写出不来结果呢?
不好意思刚写错了,这是正确的 展开
string s = Console.ReadLine();
for (int i = 0; i < s.Length; i++)
{
if (char.IsDigit(s[i]))
{
s.Remove(i, 1);
}
Console.WriteLine("数字出现的次数为:" + s);
}
为什么这样写出不来结果呢?
不好意思刚写错了,这是正确的 展开
展开全部
方法之一:C#中的字符串有自带的替换方法:
字串变量.Replace("子字串","替换为")
可以用逐一将"0","1","2","3","4","5","6","7","8","9"替换为空字符
例子:
String[] nums = new String[10] {"0","1","2","3","4","5","6","7","8","9"};
String str = "Tom123 is05809 ok746";
for(int i = 0; i < 10; i++)
{
str.Replace(nums[i], ""); //将所有的数字循环替换成为空字符
}
结果为:Tom is ok
希望能帮到你.
字串变量.Replace("子字串","替换为")
可以用逐一将"0","1","2","3","4","5","6","7","8","9"替换为空字符
例子:
String[] nums = new String[10] {"0","1","2","3","4","5","6","7","8","9"};
String str = "Tom123 is05809 ok746";
for(int i = 0; i < 10; i++)
{
str.Replace(nums[i], ""); //将所有的数字循环替换成为空字符
}
结果为:Tom is ok
希望能帮到你.
追问
恩恩,这个方法不错,但有没有简单一点的办法呢?
为什么我写的方法会不对呢?
追答
回答你问题时你的程序没有附上来,现在看了你的程序,思路是正确的逐一判断字符串中的字
符是否为数字,如果是数字则从这个字符串(数组)中删除此元素。
但写的循环有问题:for (int i = 0; i < s.Length; i++)
这里用s.Length做为for的终点条件,如果循环中用删除s字符中的数字即Remove方法,会自动将删除下标之后的字符向前进位,得s的长度不停的变小,如果字符串存在连续多位数字的情况就会漏掉最后一位没有被判断。用你的程序来模拟一下
S = "ab123bcddg";
结果是:ab3bcddg;
而且s.Remove(i, 1)并未改变s的值,这条表达式的结果是删除i下标元素,但s并未被重新赋值。
按你的思路改了一下你的程序:
Console.Write("请输入一个字符串");
string s = Console.ReadLine();
string k = string.Empty; ; //新的字符串
int iCount = 0; //统计个数
for (int i = 0; i < s.Length; i++)
{
if (char.IsDigit(s[i]))
{
iCount = iCount + 1; //统计数字个数
}
else
{
k = k + s[i]; //将未数字的字符存放到新的字符串中
}
}
Console.WriteLine("数字出现的次数为:" + iCount);
Console.Write(k);
Console.ReadLine();
方法很多,你可以试一下!
展开全部
Console.Write("输入一个字符串:");
string str1 = Console.ReadLine();
string str2 = string.Empty;
char[] arr = str1.ToCharArray();
for (int i = 0; i < arr.Length; i++)
{
if (!(arr[i] >= '0' && arr[i] <= '9'))
{
str2 += arr[i];
}
}
Console.Write("去掉数字后:" + str2);
看看行不行,没调试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询