StringBufferを使用して、長い文字列全体の部分文字列を置き換えます

彗星:

長い文字列(4324文字)を作成する必要があり、この目的でStringBufferを使用したいと思います。ほとんどの文字列は空白になりますが、一部にはorderdetailsが含まれます。それらは特定の位置に現れなければなりません。この文字列は、会計システムに送られます。

文字列を空白( "")で初期化し、この例では長さを64に設定しています。

public class BytteTekst {
    public static void main(String[] args) {
        String t1 = "Hej, jeg æder blåbærsyltetøj!";
        String t2 = "foo";

        StringBuffer s = new StringBuffer(" ");
        s.setLength(64);

        System.out.println(t1.length());

        s.replace(0, t1.length(), t1);
        System.out.println(s);

        s.replace(t1.length() + 10, t1.length() + t2.length() + 10, t2);
        System.out.println(s);

        System.out.println(s.length());
    }
}

からの出力java BytteTekst

29
Hej, jeg æder blåbærsyltetøj!
Hej, jeg æder blåbærsyltetøj!foo
64

replace()文字列fooは、最初のreplace()の直後に表示されます。次のような結果を得るには、空白が必要です。

29
Hej, jeg æder blåbærsyltetøj!
Hej, jeg æder blåbærsyltetøj!          foo
64

StringBufferを間違った方法で使用していますか?追加したい空白を黙って無視していますか?

アンディターナー:

問題は

s.setLength(64);

長さを64に変更し、新しいスペースを\0文字で埋めます。その内容は次のようになります。

[' ', '\0', '\0', ... '\0'] (1 space, 63 \0s)

2回目の交換後、内容は次のようになります。

['H', 'e', 'j', ... 't', 'ø', 'j', '!', '\0' (x10), 'f', 'o', 'o', '\0', ...]

そこ空白があります、それは単に印刷されない空白です。

文字列をでなくスペースで埋めたい場合'\0'は、プレーンなforループで文字列をループすることができます

for (int i = 0; i < 64; ++i) s.setCharAt(i, ' ');

または、正しい長さのスペースの文字列をハードコーディングします。

StringBuffer s = new StringBuffer("           "); // Not 64 chars - count carefully!

またはchar[]、スペースで満たされた「単純に」初期化できます。

char[] fill = new char[64];
Arrays.fill(fill, ' ');
StringBuffer s = new StringBuffer(new String(fill));

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

文字の奇数長の部分文字列を置き換えます

分類Dev

ObjectiveCを使用して部分文字列を文字列に置き換えます

分類Dev

部分文字列の長さに基づいて文字列を置き換えます

分類Dev

Java文字列の特定の長さの部分文字列を置き換えます

分類Dev

部分文字列が含まれている場合は、文字列全体を置き換えます

分類Dev

正規表現グループを使用して文字列内の部分文字列を置き換えます

分類Dev

re.subは、元の部分文字列を使用して文字列を置き換えます

分類Dev

sedを使用して部分文字列を別の文字列に置き換える

分類Dev

rでgreplを使用して値を部分文字列に置き換えます

分類Dev

forループを使用して部分文字列を置き換えます

分類Dev

文字列c#のすべての部分文字列を置き換えます

分類Dev

BeautifulSoupの部分文字列を<tag>部分文字列</ tag>に置き換えます

分類Dev

Cocoaの部分文字列を文字に置き換えます

分類Dev

Mongo-配列の部分文字列を置き換えます

分類Dev

部分文字列を配列の値に置き換えます

分類Dev

再帰を使用して、部分文字列のすべての出現箇所を別の部分文字列に置き換えます

分類Dev

Bash:一致する部分文字列に基づいて1つの列の文字列全体を置き換えます

分類Dev

Python3.4.4を使用してデータフレーム内の文字列の部分文字列を置き換える際の問題に直面しています

分類Dev

文字列を置き換えるにはsedを使用しますが、部分文字列の場合は置き換えないでください

分類Dev

パンダに部分文字列が含まれている場合は文字列全体を置き換える

分類Dev

Javascript-文字列の部分文字列内の文字を置き換えます

分類Dev

文字列の部分文字列を置き換えたい

分類Dev

別の文字列を指定して、最初から部分文字列を置き換えます

分類Dev

php preg_replaceを使用して文字列全体を置き換え、文字列が長い文字列の一部である場合は置き換えない

分類Dev

C ++を使用して、部分文字列の一致を正規表現に置き換えます

分類Dev

Matlabでstrrepを使用して複数の部分文字列を置き換えます

分類Dev

正規表現を使用してPythonの部分文字列を置き換えます

分類Dev

文字列から部分文字列を置き換えます

分類Dev

Javaは、部分文字列関数のインデックスを使用して、2つの文字の間の文字列内の文字を置き換えます

Related 関連記事

  1. 1

    文字の奇数長の部分文字列を置き換えます

  2. 2

    ObjectiveCを使用して部分文字列を文字列に置き換えます

  3. 3

    部分文字列の長さに基づいて文字列を置き換えます

  4. 4

    Java文字列の特定の長さの部分文字列を置き換えます

  5. 5

    部分文字列が含まれている場合は、文字列全体を置き換えます

  6. 6

    正規表現グループを使用して文字列内の部分文字列を置き換えます

  7. 7

    re.subは、元の部分文字列を使用して文字列を置き換えます

  8. 8

    sedを使用して部分文字列を別の文字列に置き換える

  9. 9

    rでgreplを使用して値を部分文字列に置き換えます

  10. 10

    forループを使用して部分文字列を置き換えます

  11. 11

    文字列c#のすべての部分文字列を置き換えます

  12. 12

    BeautifulSoupの部分文字列を<tag>部分文字列</ tag>に置き換えます

  13. 13

    Cocoaの部分文字列を文字に置き換えます

  14. 14

    Mongo-配列の部分文字列を置き換えます

  15. 15

    部分文字列を配列の値に置き換えます

  16. 16

    再帰を使用して、部分文字列のすべての出現箇所を別の部分文字列に置き換えます

  17. 17

    Bash:一致する部分文字列に基づいて1つの列の文字列全体を置き換えます

  18. 18

    Python3.4.4を使用してデータフレーム内の文字列の部分文字列を置き換える際の問題に直面しています

  19. 19

    文字列を置き換えるにはsedを使用しますが、部分文字列の場合は置き換えないでください

  20. 20

    パンダに部分文字列が含まれている場合は文字列全体を置き換える

  21. 21

    Javascript-文字列の部分文字列内の文字を置き換えます

  22. 22

    文字列の部分文字列を置き換えたい

  23. 23

    別の文字列を指定して、最初から部分文字列を置き換えます

  24. 24

    php preg_replaceを使用して文字列全体を置き換え、文字列が長い文字列の一部である場合は置き換えない

  25. 25

    C ++を使用して、部分文字列の一致を正規表現に置き換えます

  26. 26

    Matlabでstrrepを使用して複数の部分文字列を置き換えます

  27. 27

    正規表現を使用してPythonの部分文字列を置き換えます

  28. 28

    文字列から部分文字列を置き換えます

  29. 29

    Javaは、部分文字列関数のインデックスを使用して、2つの文字の間の文字列内の文字を置き換えます

ホットタグ

アーカイブ