关于字符串问题~~

boy_wh520 2010-07-29 09:37:10
想把一个字符串 在制定位置添加字符
例如 String str="你好OWDWDWdfsdfd捱三顶五上的发生大幅爱上大叔大叔";

每隔5个字符中加加个@

最终效果

你好OWD@WDWdf@sdfd捱@三顶五上的@发生大幅爱@上大叔大叔@山东省@
...全文
120 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxone987 2010-07-29
  • 打赏
  • 举报
回复
lxone987 2010-07-29
  • 打赏
  • 举报
回复
qysnowqy 2010-07-29
  • 打赏
  • 举报
回复
10楼我借花献佛别建议啊!~=.=
String str="你好OWDWDWdfsdfd捱三顶五上的发生大幅爱上大叔大叔";
StringBuffer sb = new StringBuffer(str);
for(int i=5;i<sb.length();i+=5){
sb.insert(i,'@');
i++;
}
System.out.println(sb);

这样就OK了噢
qysnowqy 2010-07-29
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 dddddz 的回复:]

我有个最简单的办法.
Java code

String str="你好OWDWDWdfsdfd捱三顶五上的发生大幅爱上大叔大叔";
StringBuffer sb = new StringBuffer(str);
for(i=5;i<sb.length();i+=5){
sb.insert(i,'@');
}
[/Quote]
你的输出是: 你好OWD@WDWd@fsdf@d捱三顶@五上的发@生大幅爱@上大叔大@叔
small_agile 2010-07-29
  • 打赏
  • 举报
回复
package com.csdn.questions;

public class csdn6 {
public static void main(String[] args) {
String str="你好OWDWDWdfsdfd捱三顶五上的发生大幅爱上大叔大叔";
//每隔5个字符中加加个@
StringBuffer bu = new StringBuffer(str);
for(int i=0;i<bu.length();i++){
if(i%5==0&&i!=0){
bu.insert(i, "@");
}
}
System.out.println(bu);
}
}
lzh_me 2010-07-29
  • 打赏
  • 举报
回复

public static void main(String[] args) {
String str = "你好OWDWDWdfsdfd捱三顶五上的发生大幅爱上大叔大叔";
StringBuffer sb = new StringBuffer();
for (int i = 5; i < str.length();) {
if(5 == i ){
sb.append(str.substring(0,i)+"@");
}else{
sb.append(str.substring(i,((i+5)<str.length()? i+5:str.length()))+"@");
}
i = (i+5)<str.length()? i+5:str.length();
}
System.out.println("最终结果:"+sb.toString());
}
NanNanGoGo 2010-07-29
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 lxone987 的回复:]
Java code

String str="你好OWDWDWdfsdfd捱三顶五上的发生大幅爱";
String _str = "";
while(str.length() > 5){
_str += str.substring(0, 5) + "@";
str = str.……
[/Quote]
这个不错,学习啦
dddddz 2010-07-29
  • 打赏
  • 举报
回复
我有个最简单的办法.

String str="你好OWDWDWdfsdfd捱三顶五上的发生大幅爱上大叔大叔";
StringBuffer sb = new StringBuffer(str);
for(i=5;i<sb.length();i+=5){
sb.insert(i,'@');
}
lxone987 2010-07-29
  • 打赏
  • 举报
回复

String str="你好OWDWDWdfsdfd捱三顶五上的发生大幅爱";
String _str = "";
while(str.length() > 5){
_str += str.substring(0, 5) + "@";
str = str.substring(5, str.length());
}
str = _str + str;
System.out.println(str);
closewbq 2010-07-29
  • 打赏
  • 举报
回复

public static void main(String[] args) {
String str = "你好OWDWDWdfsdfd捱三顶五上的发生大幅爱上大叔大叔";
Pattern p = Pattern.compile(".{5}");
Matcher m = p.matcher(str);
int pos = 0;
while (m.find(pos)) {
pos += 5;
str = str.replace(m.group(), m.group() + "@");
}
System.out.println(str);
}
boy_wh520 2010-07-29
  • 打赏
  • 举报
回复

public static void main(String[] args) {
Untitled1 untitled1 = new Untitled1();
String content = "代金券信息20091213一起来打印abcdejn卡技能";
String str="";
char[] s=content.toCharArray();
StringBuffer sb=new StringBuffer();
for(int i=0;i<s.length;i++){
if(i%12!=0){
sb.append(s[i]);
}
if(i>0&&i%12==0){
sb.append(s[i]);
sb.append("@");
}
}

System.out.println(sb.toString());
}

boy_wh520 2010-07-29
  • 打赏
  • 举报
回复
搞定 谢谢各位提供思路
  • 打赏
  • 举报
回复
我运行过了,应该是你想要的结果,希望你满意
  • 打赏
  • 举报
回复
public static void main(String[] args){
String str="你好OWDWDWdfsdfd捱三顶五上的发生大幅爱上大叔大叔";
//你好OWD@WDWdf@sdfd捱@三顶五上的@发生大幅爱@上大叔大叔@山东省@
String[] st=new String[(str.length()/5)+1];
String newstr="";
for(int i=0;i<(str.length()/5);i++){
st[i]=str.substring(i*5,(i+1)*5)+"@";
newstr+=st[i];
}
newstr+="山东省@";
System.out.println(newstr);


}
}
boy_wh520 2010-07-29
  • 打赏
  • 举报
回复
能否实现一下代码
DAVE_LUO 2010-07-29
  • 打赏
  • 举报
回复
楼上的办法可行。
蛋黄车 2010-07-29
  • 打赏
  • 举报
回复
我的思路是把str拆分成字符数组,循环,加入@符号,然后再输出字符串

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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