1

私はVB.NET Windowsアプリを開発しています。VS 2010で。

部分文字列を取得したい

$CostCenterId|4^10

以下の文字列から。

PaymentMode|NEFT^$IsPaid|False^$Currency|INR-インドルピー^$CostCenterId|4^10$LedgerId|2^3$

シーケンス内の現在の文字列 ($CostCenterId|4^10) の位置は変更される可能性があります。ただし、常に 2 つの $ 記号の間になります。私は以下のコードを書きましたが、次に何を書くべきか混乱していますか?

Public Sub GetSubstringData()

   dim sfullString = "PaymentMode|NEFT^$IsPaid|False^$Currency|INR-Indian  
    Rupee^$CostCenterId|4^10$LedgerId|2^3$"

     Dim CostIndex As Integer
     CostIndex = sDiscription.IndexOf("CostCenterId")
     sDiscription.Substring(CostIndex,

    End Sub
4

6 に答える 6

0

このコードを試してください:

  Dim sfullString = "PaymentMode|NEFT^$IsPaid|False^$Currency|INR-Indian" _
    & "Rupee^$CostCenterId|4^10$LedgerId|2^3$"

        Dim sp() As String = {"$"}
        Dim ar() As String = sfullString.Split(sp, StringSplitOptions.RemoveEmptyEntries)
        Array.Sort(ar)
        MsgBox("$" & ar(0))
于 2013-04-09T12:00:22.073 に答える
0

これはうまくいくはずです:

Dim token = "$CostCenterId"
Dim costIndexStart As Integer = sfullString.IndexOf(token)
Dim costIndexEnd As Integer = sfullString.IndexOf("$", costIndexStart + token.Length)
Dim cost As String = sfullString.Substring(costIndexStart, costIndexEnd - costIndexStart + 1)

結果:"$CostCenterId|4^10$"

ドル記号を省略したい場合:

Substring(costIndexStart + 1, costIndexEnd - costIndexStart - 1)
于 2013-04-09T10:24:44.317 に答える