まとまりのないブログ

something which something is something

vb.net 正規表現

文字列中にある一部分だけを置き換える

投稿日:

備忘。正規表現を使ってある条件にマッチする場合、その文字列の一部分を別の文字列に置き換える、ということをやってみる。たとえば次のような文字列があったとする。

“00 abcde” “01 fghij”

上記の文字列を、ダブルクォートで囲まれた部分に半角スペースがあれば、その半角スペースをアンダーバーに置き換えるという処理をする。目的の形式としては次のような文字列が作成されればいい。

“00_abcde” “01_fghij”

考え方としては、ダブルクォートで囲まれた部分は、1個のダブルクォートから始まり1個以上の文字列があり、スペースが続き、そして1個以上の文字列があって1個のダブルクォートで終わる、という範囲になる。これによりダブルクォートで囲われた部分が複数あっても識別することができる。下記にサンプルコードを記載する。半角”(” “)”で囲われた部分は置換せずに残すという意味になる。置換後の文字列には$1と$2という部分があるが、これは置換前のカッコを意味しており、その数字はカッコの出現順を意味している。置換対象は半角スペースのみで、それを半角アンダーバーに置き換える、となる。

サンプルコード

Imports System.Text.RegularExpressions

...

searchStr = Regex.Replace(targetString, "("".+?) ([^""]+?"")", "$1_$2")

-vb.net, 正規表現

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

関連記事

no image

visual studioが不具合を起こした2

————————— Microsoft Visual Studio —&#821 …

no image

継承と実装

用語がどうもごちゃごちゃしていて頭に入ってきにくい。解説する人によって捉え方が違っていたりするのが原因ではあるのだろうけれど。vb.netにおける継承と実装について。 継承 : inherits 実装 …

no image

datasetの内容をxmlファイルに出力する

datasetの内容をxmlに出力するのにはたった一行、writexmlという関数を使うだけでできあがる模様。あいたたた。datagridにバインドされたデータを一生懸命xml化するためにコードを考え …

no image

datagridの列幅の調整ができない

こんなことで嵌るのは私くらいかもしれないけれど一応備忘録 datagridviewのプロパティにある、AllowUserToResizeColumnsの値をtrueに設定しても、実際にデータをバインド …

no image

リッチテキストボックスに左余白を設定する

備忘。右画像のようにテキストボックス内に左余白を設定する。リッチテキストボックスのプロパティパネル内を見渡しても左余白を設定するプロパティは見つからなかった。右余白については、RightMarginと …