黑马程序员技术交流社区
标题:
字符串处理问题
[打印本页]
作者:
chankamlam
时间:
2013-5-22 10:18
标题:
字符串处理问题
如何将--123-456---789-----123-2把类似的字符串中重复符号去掉,得到123-456-789-123-2
作者:
秦二江
时间:
2013-5-22 10:42
string str = "123-456---789-----123-2";
// 用‘-’来分割字符串,并去掉分割后数组中的‘-’
string[] strs = str.Split(new char [] {'-'},StringSplitOptions.RemoveEmptyEntries);
// 定义一个变量,用来接收新拼接起来的字符串
string newStr = null;
// 遍历数组中的元素
for (int i = 0; i < strs.Length;i++ )
{
// 如果是 数组中最后一个元素 则 不加‘-’
if(i==strs.Length-1)
{
newStr += strs[i];
}
else
{
// 其他拼接都加‘-’
newStr += strs[i] + '-';
}
}
Console.WriteLine("原字符串为:123-456---789-----123-2");
Console.WriteLine("去重复符号后:");
Console.WriteLine(newStr);
Console.ReadKey();
作者:
曾大鹏
时间:
2013-5-22 11:30
用正则表达式替换 很快的
//123-456---789-----123-2把类似的字符串中重复符号去掉,既得到123-456-789-123-2
static void Main(string[] args)
{
string str = "123-456---789-----123-2";
//使用正则表达式替换字符串 把连续的-替换成一个-
str = Regex.Replace(str, @"\-+", "-");
Console.WriteLine(str);
Console.ReadKey();
}
复制代码
作者:
chankamlam
时间:
2013-5-22 11:49
谢谢,楼上,如果字符串是---123-4---56---789-----123-2,就会出错。
作者:
魏庆君
时间:
2013-5-22 12:28
string s = "--123-456---789-----123-2";
string[] s1 = s.Split(new char[]{'-'},StringSplitOptions.RemoveEmptyEntries);
s = string.Join("-",s1);
Console.WriteLine(s);
Console.ReadKey();
复制代码
作者:
秦二江
时间:
2013-5-22 12:31
曾大鹏 发表于 2013-5-22 11:30
用正则表达式替换 很快的
这代码,带劲,我喜欢
作者:
chankamlam
时间:
2013-5-22 12:50
魏庆君 发表于 2013-5-22 12:28
谢谢,楼上
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2