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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

举个例子
有个字符串:hdshajkghkjfijdge
要求5个字符成一个串结果就是:
hdsha
jkghk
jfijd
ge
方法不限,做一道题,卡在这了,希望帮帮忙
如果能用正则最好

10 个回复

倒序浏览
用正则是杀鸡用牛刀了
  1. void splitStringEveryFiveCharacters(String s) {
  2. 、int start = 0, end = 0;
  3.    int len = s.length();
  4.     while (start < len) {
  5.         end = start + 5 > len ? len : start + 5;
  6.         System.out.println(s.subString(start, end));
  7.         start += 5;
  8.     }
  9. }
复制代码

点评

对不起 我错了。。。看错了  发表于 2014-9-25 00:17
帅哥这个方法有问题哦,初始的时候 start 和end 都是0.相等的情况下,怎么都进不了while循环吧  发表于 2014-9-25 00:15
回复 使用道具 举报 1 0
fantacyleo 发表于 2014-9-24 22:19
用正则是杀鸡用牛刀了

能用正则吗?能也写下吗
回复 使用道具 举报
送我几个黑马币就把我的答案拿走吧!
  1. import java.util.regex.*;
  2. class SplitDemo{
  3.         public static void main(String[] args){
  4.                 String str = "hdshajkghkjfijdge";
  5.                 String regStr = "(.){5}";
  6.                 Pattern p = Pattern.compile(regStr);
  7.                 Matcher m = p.matcher(str);
  8.                 int n = 0;
  9.                 while(m.find()){
  10.                         System.out.println(m.group());
  11.                         n = m.end();
  12.                 }
  13.                 System.out.println(str.substring(n));
  14.         }
  15. }
复制代码

评分

参与人数 1黑马币 +5 收起 理由
逍遥呆 + 5

查看全部评分

回复 使用道具 举报
我的可是标准的正则啊!如果这是基础测试题,你提问下还好,如果这是入学测试题,劝你最好别问了,实事求是的来吧!:)
回复 使用道具 举报
思维 发表于 2014-9-24 22:38
我的可是标准的正则啊!如果这是基础测试题,你提问下还好,如果这是入学测试题,劝你最好别问了,实事求是 ...

为什么?这不算是全部,只是我要编的一部分。
回复 使用道具 举报
思维 高级黑马 2014-9-24 22:52:40
7#
自己想出答案来会有意想不到的收获!我做金额的大小写转换时,自己想了一天解决的!做完之后感觉正则表达式的问题基本上简单的都能解决了!刚才给你的答案也是我临时写的,以前没写过,基本看了一遍问题就有思路了!
回复 使用道具 举报
思维 高级黑马 2014-9-24 22:54:33
8#
本帖最后由 思维 于 2014-9-24 23:38 编辑


我的是切割任意5个字符,如果限定单词字符的话就用\w就可以
回复 使用道具 举报
思维 发表于 2014-9-24 22:54
我的是切割任意5个字符,如果限定字母的话就用\w就可以

谢谢,我刚刚,又把正则那看了一遍,我获取那当时可能看的有点晕,所以这个不会,又看了一遍理解了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马