A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© jy郑娟 中级黑马   /  2013-3-15 09:48  /  1755 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

怎么样把字符串中重复符号去掉?比如说1234561123sfsd----得到的是123456sfd-

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

2 个回复

倒序浏览
  1. package com.datoucth;

  2. public class Test {
  3.         public static int removeDuplicateChar(char []str){  
  4.         int len = str.length;  
  5.         if(len < 2) return len;  
  6.         for(int i=0;i<len-1;i++){  
  7.             char ch = str[i];  
  8.             int index = i+1;  
  9.             for(int j=i+1;j<=len-1;){  
  10.                   
  11.                 if(ch == str[j]){                 
  12.                     j++;                     
  13.                 }else {  
  14.                     if(j!=index){  
  15.                         str[index] = str[j];                          
  16.                     }  
  17.                     j++; index++;                     
  18.                 }  
  19.             }  
  20.             len = index;  
  21.         }  
  22.         return len;  
  23.     }  
  24.     public static void test(char []str){  
  25.         int len = removeDuplicateChar(str);  
  26.         for(int i=0;i<len;i++){  
  27.             System.out.print(str[i]);  
  28.         }  
  29.         System.out.println();  
  30.     }  
  31.     public static void main(String[] args) {
  32.             String str = "1234561123sfsd";
  33.         test(str.toCharArray());  
  34.     }  
  35. }  
复制代码

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 朱传波 于 2013-3-15 12:00 编辑

  1. namespace 改变子字符串
  2. {
  3.     class Program
  4.     {
  5.         static void Main(string[] args)
  6.         {
  7.             //将字符串的重复字符去掉

  8.             string str = "1234561123sfsd";
  9.             char [] cha = str.ToCharArray();//将字符串转化为char数组
  10.             //通过两层for循环寻找cha数组中是否有一致的字符
  11.             for (int i = 0; i < cha.Length; i++)
  12.             {
  13.                 for (int j = 0; j < i; j++)
  14.                 {
  15.                     if (cha[j] == cha[i])
  16.                     {
  17.                     cha[i]='!';//用‘!’标记一致的字符
  18.                     }
  19.                 }
  20.             }
  21.             string str2 = new string(cha);//将标记后的char数组重新转换为字符串
  22.             char[] remove={'!'};
  23.             string[] result = str2.Split(remove [],StringSplitOptions.RemoveEmptyEntries);//剔除!,然后再输出结果

  24.             Console.Write(result );
  25.             Console.ReadKey();



  26.         }
  27.     }
  28. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马