java 一个字符串12345678,怎样每隔2个数字,用#连接起来

 我来答
samplezuo
推荐于2018-04-19 · TA获得超过320个赞
知道小有建树答主
回答量:452
采纳率:100%
帮助的人:278万
展开全部
String getStr(String str) {
if (str.length() <= 2) {
return str;
}
return str.substring(0, 2) + "#" + getStr(str.substring(2));
}

不要太简单
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fanbo369
2014-03-07 · 超过25用户采纳过TA的回答
知道答主
回答量:125
采纳率:0%
帮助的人:37.2万
展开全部
package com.gaeainfo.move.ws;

public class Test {

public static void main(String[] args) {
String a = "sdsafcdsfvdsvdsvdsvdsvdsz";
int b = a.length();
StringBuffer sb = new StringBuffer();
int aa = 1;
int bb = 0;
for(int i = 0;i<=b;i++){
if(i%2==0 && i!=0){
if(aa==1){
sb.append(a.substring(0, i));
bb = i;
aa++;
sb.append("#");
}else{
sb.append(a.substring(bb, i));
bb = i;
sb.append("#");
}
}
if(i==b && i%2!=0){
sb.append(a.substring(i-1, i));
}
}
System.out.println(sb.toString());
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
惊醒_走
2014-03-07 · TA获得超过101个赞
知道小有建树答主
回答量:155
采纳率:0%
帮助的人:112万
展开全部
String s = "124324234254";

char[] chars = s.toCharArray();
String temps = "";
for(int i =0 ;i<chars.length;i=i+2){
temps=temps+"#"+chars[i]+chars[i+1];
}

temps=temps.replaceFirst("#", "");

s可以是任意长度的数字。前提必须是偶数位的,否则会报数组越界
temps 是替换完毕后的字符串,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yugi111
2014-03-07 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.5亿
展开全部
String reg = "(\\d{2})(\\d{2})(\\d{2})(\\d{2})";
String str = "12345678";
str.replaceAll(reg, "$1#$2#$3#$4");
追问
假如不清楚多少个字符,只知道是2的倍数,我该怎么做啊???
追答
String str2 = "1234567890";
String reg2 = "";
String res = "";
for(int i = 0; i < str2.length() / 2; i++)
{
reg2 += "(\\d{2})";
res += "$" + (i + 1);
if(i != str2.length() / 2 - 1)
{
res += "#";
}
}
System.out.println(reg2);
System.out.println(res);
System.out.println(str2.replaceAll(reg2, res));
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
_江上渔者_
2014-03-07 · TA获得超过104个赞
知道答主
回答量:61
采纳率:0%
帮助的人:44.9万
展开全部
两种算法:

1、利用循环将字符串从后面截取,每次截取2个字符加#号,最后串起来就可以得到结果。这种方法容易理解,但代码较长。
2、利用java的java.text.DecimalFormat格式化类,方法如下:
String str = "12345678";
DecimalFormat df = new DecimalFormat("##,##");
String ret=df.format(Double.parseDouble(str));
ret=ret.replaceAll(",","#");

System.out.println(ret);

这种方法简单明了,不管是多少字符都可以。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式