2009-09-25 111 views
24

如何在StringBuilder和String開頭插入用雙引號括起來的字符串?在另一個字符串的開頭插入字符串

如:

StringBuilder _sb = new StringBuilder("Sam"); 

我需要插入字符串 「Hello」 到 「山姆」 和O/P的開頭是 「你好,薩姆」。

String _s = "Jam"; 

我需要在「Jam」的開頭插入字符串「Hello」,並且O/p是「Hello Jam」。

如何實現這一目標?

+0

難道你沒有把字符串Jam插入到Hello結尾嗎? – 2009-09-25 07:07:57

+0

不,你好,Jam的開頭部分是_s被初始化爲Jam – 2009-09-25 07:14:37

回答

34

第一種情況是使用insert()方法完成:

_sb.insert(0, "Hello "); 

後一種情況可以使用重載+運算上的字符串來完成。這在後臺使用StringBuilder中:

String s2 = "Hello " + _s; 
+0

_s =「Hello」+ _ s;將有助於解決問題 – 2009-09-25 07:10:11

+0

@Sri:這就是他所說的實際情況!如果你有不同的想法,那麼你可能錯過了Java字符串的基本屬性......它們是不可變的。 – 2009-09-25 07:26:37

+0

Opps!當我發佈評論我沒有看到unwind的編輯答案,導致混亂:) – 2009-09-25 07:40:52

-9

,如果你使用indexof()方法找到引號,然後添加一個索引後面的字符串,更好。

string s="hai"; 
int s=s.indexof("""); 
+0

這不會作爲「不是字符串的一部分」 – 2009-09-25 07:25:54

+0

該字符串不包含'「' – gkmohit 2015-05-27 20:10:55

6

嚴格來說,您不能將字符串插入另一個字符串的開頭。 Java中的字符串是不可變的。

當你寫:

String s = "Jam"; 
s = "Hello " + s; 

你實際上是導致要創建一個新的String對象,它是「你好」和「大灌籃」的串聯。您根本沒有將字符插入到現有的String對象中。

-4
import java.lang.StringBuilder; 

public class Program { 
    public static void main(String[] args) { 

    // Create a new StringBuilder. 
    StringBuilder builder = new StringBuilder(); 

    // Loop and append values. 
    for (int i = 0; i < 5; i++) { 
     builder.append("abc "); 
    } 
    // Convert to string. 
    String result = builder.toString(); 

    // Print result. 
    System.out.println(result); 
    } 
} 
+0

這並不回答原來的文章,它使用了字符串和StringBuilder,但它並沒有」插入一個字符串在StringBuilding開頭的雙引號「。 – OYRM 2016-02-09 22:53:28

相關問題