字符串截取问题?

麻烦的一笔 2009-05-15 03:54:56
假设现在有这样一个字符串wcd,aaa,wcd
以逗号为分隔符的字符串不能与前面的字符串
相同如果相同则截取该如何做?
...全文
303 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
城市的谎言 2011-08-23
  • 打赏
  • 举报
回复
社区专访】蒋涛谈谷歌收购摩
悠然不贰 2009-05-16
  • 打赏
  • 举报
回复
截取完循环遍历数组呗
麻烦的一笔 2009-05-16
  • 打赏
  • 举报
回复
我是直接在服务端做的判断和处理
c#没java方便,string方法里只能定位到某个字符
如果能定位索引就比较好解决了
皓月明 2009-05-16
  • 打赏
  • 举报
回复
先分割然后进行循环判断,构造新数组放到新的数组里把循环结果,将第二次出现的字符不进行插入
benben7466 2009-05-16
  • 打赏
  • 举报
回复
正则效率比较高,不过我一时想不起来,笨的方法而且对服务器端没有压力就用js写

思路可以是 每个元素遍历一下数组,去掉重复的即可,不过效率可能有点低
che2piaopiao 2009-05-16
  • 打赏
  • 举报
回复
正则
rainsome 2009-05-15
  • 打赏
  • 举报
回复
7楼的写法是C#的LINQ
麻烦的一笔 2009-05-15
  • 打赏
  • 举报
回复
7楼的代码有点晕,一会事c#代码,一会是js代码。。。
var不是js赋值语法吗?
冬你个冬 2009-05-15
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 pt1314917 的回复:]
C# code
string str = "wcd,aaa,wcd";
string newstr = "";
var p = (from n in str.Split(',')
select n).Distinct();
foreach (var i in p)
{
newstr += i + ",";
}

//newstr为想要的
[/Quote]
这个方法不错
rainsome 2009-05-15
  • 打赏
  • 举报
回复
来个正则的写法。试试看。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
<title>求</title>
</head>
<script type="text/javascript">
/*
//Regex Example in JavaScript
// Rainsome Studio
// rainsome@126.com
// 2009-05-15 in Shanghai
*/
<!--//
//
window.onload=fun1();
function fun1()
{
var shift='<br />';
var str='aaa,wcd,ddaaa,wcd,aaa,dd,wcd,dd';
document.write('原字符串 : ' + str + shift);
var objRegex=/([ ]+|,|^)([a-z0-9]+(?=,))([, ].+)?([, ])(\2)/ig;
var strResult=str;
do{
strResult=strResult.replace(objRegex,'$1$2$3');
}while(objRegex.test(strResult)==true);
document.write('输出结果 : '+strResult+shift);
}
//-->
</script>
<body>
</body>
</html>

结果:

<div>
原字符串 : aaa,wcd,ddaaa,wcd,aaa,dd,wcd,dd
<br />
输出结果 : aaa,wcd,ddaaa,dd
</div>
yang318 2009-05-15
  • 打赏
  • 举报
回复
然后
for(int i=0 ; i<list.length; i++)
{
if(list[i]==list[i+1])
{
list.move(list[i])
}
}
大概就是这个思路,最后的数组是没有相同的,最后再循环把数组里的元素加起来,注意这里比较的时候可能数组越界
麻烦的一笔 2009-05-15
  • 打赏
  • 举报
回复
我的意思不是要把逗号去掉,我是要把以逗号为分隔符的最后一个字符串去掉
ljhcy99 2009-05-15
  • 打赏
  • 举报
回复
List<String> list = new List<String>();
String s = "wcd,aaa,wcd";
String [] ss = s.Split(new char[]{','});
for(int i=0;i<ss.length;i++)
{
if(!list.Contains(ss[i]))
{list.Add(ss[i]);}
}
pt1314917 2009-05-15
  • 打赏
  • 举报
回复

string str = "wcd,aaa,wcd";
string newstr = "";
var p = (from n in str.Split(',')
select n).Distinct();
foreach (var i in p)
{
newstr += i + ",";
}

//newstr为想要的
yang318 2009-05-15
  • 打赏
  • 举报
回复
string str="wcd,aaa,wcd ";
string[] list = str.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);

结果得到一个list数组里面就是wcd aaa wcd
ws_hgo 2009-05-15
  • 打赏
  • 举报
回复
下班了写
等等啊
Vedy 2009-05-15
  • 打赏
  • 举报
回复
使用','分割 然后把每个字符串 比较 相同就替换掉
takako_mu 2009-05-15
  • 打赏
  • 举报
回复
先Split成一個數組string[],再定義一個空ArrayList.
然后遍歷string[],第一次出現的就插到ArrayList中去..

= =#這個方法太差...
麻烦的一笔 2009-05-15
  • 打赏
  • 举报
回复
我的意思是把最后一个相同的字符串截取掉

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧