• 締切済み

C#で文字列の置換えをするには?

お世話になります。 C#で文字列の置換えに悩んでいます。 このAの文字列の各項目に値を入れていきたいのですが方法がわかりません。 具体的には、  A = "x__y__z__" があり、それぞれのx、y、zに値を入れます。例えば、  X = "12"  Y = "34"  Z = " 1" があり、結果的には  A = "x12y34z 1" なるようにしたいのです。最初は  A = "x" + X + "y" + Y + "z" + Z を考えていたのですが、そうではなくて左から2カラム目と3カラム目の間にXを・・・というような感じにしたいのです。 そこで皆様の知恵を拝借したいと思っています。 どういうコマンド(関数?)を使えば良いのでしょうか?

みんなの回答

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

ちょっとお望みのものと違うかもしれませんが、 Regex.Replaceを使った回数指定の置き換え方法 ------------------------------------------- using System; using System.IO; using System.Text.RegularExpressions; class Sample { public static void Main(){ string A ="x__y__z__"; string X ="12"; string Y ="34"; string Z =" 1"; Regex pattern = new Regex("__"); A = pattern.Replace(A,X,1); A = pattern.Replace(A,Y,1); A = pattern.Replace(A,Z,1); Console.Write(A); } }

関連するQ&A

  • C言語 プログラミング 文字列

    ある文字列X,Yがあるとき、XにYの文字列が含まれているかを検索する関数を作りたいんです。 Xを1文字ずつ、yと比較して行く感じなのはわかるんですが、うまく作ることができません。。 どなたかお願いします!

  • 【EXCEL】文字列抽出および表示の式について

    【EXCEL】文字列抽出および表示の式について EXCEL初心者です。 以下のように、A列はリストによる選択入力。B列、C列は、A列のリストで選択した値(文字列) を元に文字列を自動入力したいと思っています。 A列のリストの設定は分かるのですが、B列、C列にどのような式を入れれば良いかが分かりません。 (処理内容)  ・A列:リストにより選択形式で入力。リストの値(文字列)は、X列に定義(行数未定)。  ・B列:A列の値(文字列)と同じ値(文字列)をX列より抽出し、右隣のセル(Y列)の値(文字列)を表示  ・C列:B列の値(文字列)と同じ値(文字列)をY列より抽出し、右隣のセル(Z列)の値(文字列)を表示             [A列]   [B列]    [C列]   ・・・    [X列]   [Y列]     [Z列]   [1列目]  aaa   あいうえお   1234        aaa   あいうえお   1234 [2列目]  bbb   かきくけこ   5678        bbb   かきくけこ   5678 [3列目]  eee   たちつてと   3456        ccc   さしすせそ   9012 [4列目]  aaa   あいうえお   1234        ddd   さしすせそ   9012 [5列目]  ddd   さしすせそ   9012        eee   たちつてと   3456   :     :       :      :           :       :      :  よろしくおねがいします。

  • 文字列抜出しソフト

    ファイルの中の"M01"の直前の文字を抜出すフリーソフト ってありますか? X1038981Y739120Z147697F6000 Y744120Z139037 Y769120Z95735F0250 X951000F0500 Y744120Z139037←抜出し M01

  • 文字列の置換えがうまくいきません

    A  B  C   1 *  11  11 2 *  12  12 3     13 4 *  14  13 5     15 6 *  16  14 7 *  17  15 上記のように B列の文字列を、A列の*がある行に対応するようにC列に並べ替えたいです。A列に*が無い行はそのC列の同じ行のセルは空けておきたいです。 A列の*の配置、B列の文字列は時々で変わります。 どのような関数・方法を用いれば上記のようなことができるでしょうか。 よろしくお願いします。

  • Excel関数で、長さ0の文字列(

    Excelで、両軸対数の散布図(X列,Y列)を作成していますが、X列,Y列ともに、データがない部分があります。 X,Yともに他のデータの関数になっており、 データが不適格の場合、空白セルを入力しています。 しかし、空白セルとして、("")を入力すると、 X,Yの散布図が、散布図にならず、困っています。 具体的には、 IF(Y>0, Log(Y),"") といった感じです。 恐らく、空白セルが長さ0の文字列("")と解釈されているからだと思います。 このセルをDeleteで削除すると、グラフはうまく表示されるようですが、それでは、関数が機能しません。 そこで、関数の出力で、完全な空白セルをセルの値にする方法を教えてください。

  • 秀丸の置換で/*コメント文字列*/"を削除したい。

    秀丸の置換の方法を教えて頂きたく質問させて頂きます。 次の文字列がテキストファイルの一行分です。 {{'\x0e', 9, 16},{0x00,0x00, /* ................ */0x03,0x00, /* ......%%........ */0x1D,0x00, /* ...%%%.%........ */0x11,0x00, /* ...%...%........ */0x13,0x00, /* ...%..%%........ */0x1D,0x00, /* ...%%%.%........ */0x11,0x00, /* ...%...%........ */0x11,0x00, /* ...%...%........ */0x11,0x00, /* ...%...%........ */0x13,0x00, /* ...%..%%........ */0x17,0x00, /* ...%.%%%........ */0x36,0x00, /* ..%%.%%......... */0x70,0x00, /* .%%%............ */0x60,0x00, /* .%%............. */0x00,0x00, /* ................ */0x00,0x00 /* ................ */}}, この文の中の/*から*/のコメントの文字列を削除して {{'\x0e', 9, 16},{0x00,0x00,0x03,0x00,0x1D,0x00,0x11,0x00,0x13,0x00,0x1D,0x00,0x11,0x00,0x11,0x00,0x11,0x00,0x13,0x00, 0x17,0x00,0x36,0x00,0x70,0x00,0x60,0x00,0x00,0x00,0x00,0x00}}, このような文字列にしたいのですが、どのようにすればよいか、どうぞご教授のほどよろしくお願い致します。

  • 文字列の入れ替え

    2つのchar型配列x[],y[]に格納された文字列を入れ替えるプログラムを作成せよ。ただし入替え処理には、関数swap_array(char [],char [])を作成して用いること。という問題なのですが、下記の実行例では、2つの文字列xとyをキーボードから入力し、入れ替えた後に表示している。 <実行例> % ./irekae 文字列x (20字まで)? Mojiretsu 文字列y (20字まで)? Irekae 関数swap_array()を呼び出しました 入替後の x: "Irekae" 入替後の y: "Mojiretsu" % となっているのですが文字列を格納するところまでしかわかりません。 どなたか教えていただけないでしょうか? #include<stdio.h> int main(void) { char x[21]; char y[21]; printf("文字列 (20字まで)? "); scanf("%s", x); printf("文字列 (20字まで)? "); scanf("%s", y);

  • PLSQLで文字列置換

    よろしくお願いします。 PLSQLで可変長のCSVファイルを読み込み、ある特殊文字があった場合、その 特殊文字が含まれている項目ごとNULLにし、またCSVファイルを出力する。 というプログラムを作りたいのですが、CSVファイルの読込み、書き出しのやり方 は判ったのですが、文字列置換がどうすればいいかわかりません。 またファイルはマルチレイアウトで、カラム数とも不定です。 例) 入力ファイル: A,B,C,D,ABCDEFG,FF,GG となっている場合、'E'という文字があるカラムはNULLで出力する というときに 出力ファイル: A,B,C,D,,FF,GG としたいのです。 ご教授下さい。

  • A列の指定した位置にB,C列の文字を置換させる方法

    お世話になります。 Excel2003で、A列の指定した位置にB,C列の文字を置換させる機能はありますか。 例 *にB列の文字を、¥にC列の文字を置換。 A   |B |C 1 (*)\(z)| あ| 2 2 (*)\(z)| 3 | 4     ↓ 1 (あ)2(z)|あ | 2 2 (3)4(z) | 3 | 4 よろしくお願いいたします。

  • [Fortran]文字列の並べ替え方法

    Fortranで以下のような文字列を使いやすい形に並べ替える方法を教えてください。 (元) x1_y1 x2_y2 x3_y3 ... (変更後) x1_y1_x2_y2_x3_y3 x4_y4_x5_y5_x6_y6 x7_y7_x8_y8_x9_y9 ...