-1

ストアド プロシージャから来た VB.net に文字列変数があり、それを variable に配置した後、値に Space を指定したいと考えています。

ルールはこんな感じ

ここに画像の説明を入力

画像上の数字はスペースを意味し、

私はすでにこのような試行錯誤を行っています:

                Dim words As String() = receiptText.Split(" ")
                Dim word As String
                Dim XMLBuild As New StringBuilder
                XMLBuild.Append(Space(9))
                For Each word In words

                    XMLBuild.Append(word)
                    XMLBuild.Append(Space(9))

                Next

しかし、結果は

{         PLEASE         KEEP         THIS         RECEIPT         AS         VALID         PROOF         OF         PAYMENT         }

私がしなければならないルールが好きではありません。私が使用すべき文字列関数はありますか?

4

3 に答える 3

0

私がよく理解していれば、値を連結し、特定の長さにする必要があります。formatこれは、関数とPadLeft/を使用して簡単に実行できますPadRight

まず、すべてをフォーマット文字列に入れます。ただし、各変数はパディング関数に渡されます。

String strFinalResult = String.Format("{0}{1}{2}", str1.PadRight(9), str2.PadRight(6), str3.PadRight(7));

PadRight 関数の数値は、文字列の合計の長さです。したがって、変数が「abc」で str.PadRight(9) を呼び出すと、右側に 6 個のスペースがある「abc」が得られます。

それが役に立てば幸い!

編集 私の答えはC#にありますが、それはStringオブジェクトなので、VB.NETで利用できると確信しています

EDIT 2 文字列の最初と最後に両方のパディングを入れたい場合は、PadRight と PadLeft を使用できます。

于 2013-05-08T11:38:53.147 に答える
0

String.Joinを使用して要件を達成できます。

String.Join(Space(9), receiptText.Split(Space(1)))
于 2013-05-08T11:23:50.327 に答える