NightWind999
NightWind999
2017-11-05 02:33
采纳率: 50%
浏览 777

请教一个关于字符串分割的问题! c#

PPBBPPPBPPBBPBPBBBBPBBPBPPBBPBBBBPPBBPBBBPPPBBBBPPBPP

如何分割成以下字符串?

PP,BB,PPP,B,PP,BB,P,B,P,BBBB,P,BB,P,B,PP,BB,P,BBBB,PP,BB,P,BBB,PPP,BBBB,PP,B,PP

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • caozhy
    已采纳
     string s = "PPBBPPPBPPBBPBPBBBBPBBPBPPBBPBBBBPPBBPBBBPPPBBBBPPBPP";
    string[] result = Regex.Matches(s, "P+|B+").Cast<Match>().Select(x => x.Value).ToArray();
    
    点赞 评论
  • caozhy

    string s = "PPBBPPPBPPBBPBPBBBBPBBPBPPBBPBBBBPPBBPBBBPPPBBBBPPBPP";
    string[] result = Regex.Matches(s, "P+|B+").Cast().Select(x => x.Value).ToArray();

    点赞 评论
  • liaoyaonline
    liaoyaonline 2017-11-05 06:04

    输入字符串
    循环检查字符,以字符长度为循环结束条件
    以第一个字符为标杆
    如果和标杆相同,输出该字符
    遇到不同于标杆的字符,进入if语句
    输出,同时将该字符变成标杆
    好像标杆要求不能为变量,不过大概思路就是这样了
    也可以从头到尾循环,遇到相邻不同的就输出一个,

    点赞 评论
  • yanjiangdi
    hycf 2017-11-06 02:54
     public static String[] splitString(String str)
       {
          String string="";
          for(int i=0;i<str.length()-1;i++)
          {
             if(str.substring(i, i+1).equals(str.substring(i+1, i+2)))
             {
                 string=string+str.substring(i, i+1)+str.substring(i+1, i+2);
             }
             else 
             {
                string=string+str.substring(i, i+1)+"_";  
             }
          }
          return string.split("_");
       }
    
    
    点赞 评论

相关推荐