每个字母之间的字符

时间:2014-08-03 09:39:06

标签: java string character

在Java中,我有一个字符串,例如。 “测试”

我想将字符串更改为在每个字母之前加1:

“1T1e1s1t”

这仅用于测试,因为我会将其更改为我以后想要的内容。

我知道我可以像这样制作字符串,但用户输入一个单词。我想要然后进行格式化。

无论如何我能做到这一点吗?

3 个答案:

答案 0 :(得分:3)

是的,可以做到。

使用StringBuilder构建包含已修改属性的新字符串,方法是迭代字符,并为每个字符c以及1c构建构建器

String s = "test"; //your string, could be supplied by user from input as well
StringBuilder sb = new StringBuilder(); //the StringBuilder
//this iterates the string and puts in the builder 1 before any character
for (char c : s.toCharArray()) sb.append(1).append(c); 
//done. print the new string:
System.out.println(sb.toString());

Here's the code on ideone

答案 1 :(得分:0)

尝试tis

public class Foo
{
    public static void main(String []args)
    {
        String s1 = "Test" ;
        String s2 = "" ;

        for(int i=0; i<s1.length(); i++)
        {
            s2 += ( "1" + s1.charAt(i) ) ;
        }
        System.out.println(s2) ;
    }
}

答案 2 :(得分:0)

这样的事情应该这样做:

String sample="Test";
String append="1";
StringBuffer sb=new StringBuffer(sample.length()*append.length());
for(int i=0; i<sample.length(); i++) {
    sb.append(append).append(sample.charAt(i));
}
System.out.println(sb.toString(); //result

append()方法可以采用所有主要类型。

如果不需要线程安全,可以用StringBuilder替换StringBuffer。