DOBON.NET DOBON.NETプログラミング掲示板過去ログ

正規表現を使った文字の置換について

環境/言語:[C#]
分類:[.NET]

こんにちわ。
Visual C# 2008にてコードを書いています。

テキストボックスに入力された数字を4桁の数字に変換しようとしています。
入力された文字の右にゼロを付けて4桁にしたいのです。

例 12 →1200
  321→3210

以下のコードを考えているのですが、正規表現を使った変換の部分が良く分からず
困っています。

//入力値チェック
if (int.Parse(this.codeTextBox.Text) == 0) return;

//文字を正規表現で変換する
string regtext=System.Text.RegularExpressions.Regex.Replace(
this.codeTextBox.Text,"d","4桁の数字にしたい");


この正規表現の変換はどのように書けば良いでしょうか?
2010/04/12(Mon) 07:25:50 編集(投稿者)


■No26694に返信(田中さんさんの記事)

> この正規表現の変換はどのように書けば良いでしょうか?

文字列の末尾に 0 を付加して先頭から 4 文字を切り取ってはいかがでしょうか。
Regex.Replace(codeTextBox.Text + "0000", @"^(\d{4}).*", "$1");

正規表現を使わず string.PadRight メソッドで 0 埋めする手もあります。
codeTextBox.Text.PadRight(4, '0');
もりおさん ありがとうございます。

正規表現を使ったソースを残したいので
> Regex.Replace(codeTextBox.Text + "0000", @"^(\d{4}).*", "$1");
を使いました。

無事動作しました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板