21

我有一个 StringBuilder 并且想对一个字符使用 replace 方法。下面给出的代码

StringBuilder sb = new StringBuilder();
sb.append("01-02-2013");

如何将 '-' 替换为 '/' ?

4

4 回答 4

29

如果不想将其转换StringBuilder为 aString或者您需要继续使用它/保留它,那么您可以做这样的事情......

for (int index = 0; index < sb.length(); index++) {
    if (sb.charAt(index) == '-') {
        sb.setCharAt(index, '/');
    }
}

如果你不在乎,那么你可以做类似的事情......

String value = sb.toString().replace("-", "/");
于 2013-05-16T05:03:30.277 回答
7

试试这个方法

StringBuilder sb = new StringBuilder();
            sb.append("01-02-2013");

            sb.replace(sb.indexOf("-"), sb.indexOf("-")+1, "/") ;
            sb.replace(sb.indexOf("-"), sb.indexOf("-")+1, "/") ;
            System.out.println(sb.toString());

更好的方法是

sb.toString().replaceAll("-", "/");
于 2013-05-16T05:00:30.907 回答
1

您应该对此进行一些搜索。

无论如何,当开始用 java 编程时,了解你可以用 java 内置对象做什么的最好方法是去那个类的 javadoc,在那里你会了解很多东西。

在你的情况下,你会在这里找到你的答案:StringBuilder javadoc

使用replace方法。

于 2013-05-16T05:04:27.670 回答
0

尝试将字符直接替换为字符串本身。

sb.append(("blah-blah").replace('-', '_'));

会输出

blah_blah
于 2013-05-16T04:59:56.483 回答