| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1694 人关注过本帖
标题:[求助]如何去掉字符串中重复的值?
只看楼主 加入收藏
Princeli1125
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2007-6-11
收藏
 问题点数:0 回复次数:5 
[求助]如何去掉字符串中重复的值?
如何去掉字符串中重复的值?
搜索更多相关主题的帖子: 字符 
2007-07-09 15:29
Princeli1125
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2007-6-11
收藏
得分:0 
没人知道吗?

新手接触C#,大家多关照!
2007-07-09 17:48
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 

private void button1_Click(object sender, EventArgs e)
{
string temp = textBox1.Text.Trim();
string tempstr="";
for (int i = 0; i <=temp.Length-1; i++)
{
tempstr=temp.Substring(i,1);
if (temp.IndexOf(tempstr)!=i)

{
temp = temp.Remove(i,1);
i = 0;
}
}

this.textBox2.Text = temp;

}


2007-07-10 08:45
立志成佛
Rank: 1
等 级:新手上路
威 望:2
帖 子:314
专家分:0
注 册:2006-11-1
收藏
得分:0 
[CODE] //取得字符串
string temp = this.textBox3.Text.Trim();
//声明缓存
StringBuilder sb = new StringBuilder();
//声明种子
char c;
for (int i = 0; i < temp.Length;i++ )
{
//取得种子
c = temp[i];
//保存种子
sb.Append(c);
//声明索引
int idx = temp.IndexOf(c);
while (idx > -1)
{
//删除重复字符
temp = temp.Remove(idx, 1);
//检索索引
idx = temp.IndexOf(c);
}
}
//还原字符
this.textBox3.Text = sb.ToString();[/CODE]

在做这个题时候发现了一个问题
首先说一下我的思路:
1:我的出发点是检索到一个种子,保存这个种子,马上就删除重复种子的字符。
2:生成新的字符串。
3:重复1。
刚开始我用foreach循环的
foreach(char c in temp)
{
//省略若干;
}
问题:第2步执行完毕执行第三步的时候,循环检索并非是从新生成的字符串里检索,而是按照最初的字符串运行。
比如"haha"执行到第三步的时候字符串temp应该是"aa"
但是foreach检索的时候仍然是"haha",达不到预期的效果
由此看出在执行foreach的时候framework自己建立了自己的数据字典。
当我们在处理变化的变量的时候还是要用到for循环。

[此贴子已经被作者于2007-7-10 10:14:56编辑过]


曾经的曾经已不在
2007-07-10 10:14
Princeli1125
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2007-6-11
收藏
得分:0 
谢谢了,两个方法我都试了,都可以,正在琢磨ING,向你们学习!!

新手接触C#,大家多关照!
2007-07-11 11:46
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 
其实最主要使用到两个函数:

Indexof和remove(查找和删除),剩下的就是算法了。

2007-07-12 10:56
快速回复:[求助]如何去掉字符串中重复的值?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014797 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved