1

文字列が次のようなものだとします

bla bla bla bla (猫) bladfdskdfd dsgdsdksf (犬) dfdshfdskdskfsdfkhsdf sdkfhdsfkdf (キャシー) fdsfhdskfhdsfkd (犬)

を含む (文字列の) generic.list が必要です

キャシー

犬の

vb.netの正規表現でそれを行う方法

後で、この文字列から "url":" と ", の間のすべての文字列を取得するなど、もっと複雑なことをしたい

152742110214000.No.エージェンシー:-。Tgl。エージェンシー、 : -。ニライ: 90.76. ワクトゥ: 270 ハリ。Nilai kontrak, : Rp."},{"GsearchResultClass":"GwebSearch","unescapedUrl":"https://eproc.pu.go.id/publik/dinaspu/kegiatan/info_paket.asp?id\u003d%7B4BD47F74 -233B-4D49-BB60-4229023668C6%7D","url":"https://eproc.pu.go.id/publik/dinaspu/kegiatan/info_paket.asp%3Fid%3D%257B4BD47F74-233B-4D49-BB60 -4229023668C6%257D","visibleUrl":"eproc.pu.go.id","cacheUrl":"","title":"Informasi Proyek","titleNoFormatting":"Informasi Proyek","content":" 2010 年 4 月 9 日 \u003cb\u003e...\u003c/b\u003e Sub Kegiatan, : PEMBANGUNAN JALAN. Paket, : Peningkatan jalan sd hotmix Jl . \u003cb\u003eKucing\u003c/b\u003e ケル。プルウォサリ。ルピア・ムルニ, : 1449000000 \u003cb\u003e...\u003c/b\u003e"}],"カーソル":{"resultCount":"10","ページ":[{"開始":"0"," label":1},{"start":"4","label":2},{"start":"8","label":3}],"estimatedResultCount":"10","currentPageIndex" :2,"moreResultsUrl":"http://www.google.com/search?oe\u003dutf8\u0026ie\u003dutf8\u0026source\u003duds\u0026start\u003d12\u0026hl\u003den\u0026q\u003d+kucing+site:eproc. pu.go.id","searchResultTime":"0.05"}}, 200, null, 200)

4

2 に答える 2

1

そのため、同様の問題を探しているときに、この投稿に出くわしました。私の仕事は、ツリー ノードのフル パス (「root\child\grandchild\greatgrandchild...\currentNode」と表現される) を解析して、使用する祖先のレベルを選択することでした。irfanmcsd の答えはエレガントでしたが、私はスラッシュのパターンを正しく設定するのに腕を回すのに苦労しています (そして、正規表現をもっと上手に使いたいと思っています)。

これが私の特定の問題に対する私の解決策でした:

    Dim exp As New Regex("\\", RegexOptions.IgnoreCase)
    Dim ancestors() As String

    ancestors = exp.Split(calledFromTreeNode.FullPath)

これで、必要なことを達成するための値の配列ができました。

同じ問題ではないことは確かですが、irfanmcsd の解決策は私自身の問題を解決するのに役立ちました。今、私はパターンをよりよく理解する必要があります!

于 2012-07-18T15:41:27.363 に答える
1

文字列から値を抽出し、vb.net で一般的なリストを生成する場合は、それを試すことができます

Private Function Fetch_Items(Text As String) As List(Of Generic_List)
Dim pattern As String = "\((?<value>(.)*?\))"
Dim _lst As New List(Of Generic_List)()
Dim VDMatch As System.Text.RegularExpressions.Match = System.Text.RegularExpressions.Regex.Match(Text, pattern)
While VDMatch.Success
    _lst.Add(VDMatch.Groups("value").Value)
    VDMatch = VDMatch.NextMatch()
End While

Return _lst
End Function

この関数は、( ) 内に含まれるすべての文字列を抽出し、一般的なリストを生成します。

于 2012-04-06T07:27:03.313 に答える