C#で特定の文字列とそれ以降を置換したい場合
例えば、都道府県+市町村の文字列
"岡山県岡山市"
の場合、県名だけを取り出すため、"県岡山市"→""に置換したいのですが、
必ず岡山市という文字列が来るわけではないため、
県とそれ以降の文字列を空欄に置換したいです。
Excelでいう"県*"を""にしたいです。
C#では上記のようなことは可能でしょうか?
試したことは下記のものですが、これでは置換されませんでした。
C#
1str.Replace("県*","");
ご教授願います。
(追記)
都道府県に関しては例でして、
C#で特定の文字列とそれ以降すべてを置換する方法をご教授願います。
"ABCDAAAAAAA"→"AB"に。"CD"という文字列があったら"CD"とそれ以降の文字列を全部空文字に置換したいです。
拙い質問文で申し訳ございません。
(追記)
実際に置換したい文字列は、"test_0726_01.csv"です。
構成としては[任意の文字列][本日の日付][01または02].csvです。
ここから[任意の文字列]を抽出したいです。(”test”)
解決方法として、本日の日付以降を空白にしたらtestを抽出できると考えておりまして、イメージは下記の通りです。
C#
1string fileName = "test_0726_01.csv"; 2string date = DateTime.Now.ToString("yyyyMMdd"); 3string str = fileName.Replace("_" + date + <ここが分からない>, ""); // str = "test"にしたい
C#
1string str = fileName.Replace("_" + date + "_01.csv", ""); 2str = fileName.Replace("_" + date + "_02.csv", "");
上記で置換はできるのですが、date以降の文字列全部置換できる関数?があれば教えて頂きたいと思っております。
> 県とそれ以降の文字列を空欄に置換したいです。
北海道とか東京都とか大阪府とかはどうするのでしょう?
ありがとうございます。
都道府県に関しては例として示しただけですので、実際は都道府県を置換したいわけではなく
Excelでいうアスタリスクの役割をする方法をご教授ねがいます。。
> Excelでいうアスタリスクの役割
残念ながら自分は Excel は分かりません。「C#で特定の文字列・・・」とのことですので、Excel を知らなくても C# を知っていれば分かるように説明してください。
例えば "ABDCDCDXCD CDCDAAAAA" とかでしたらどうするのでしょう?
返信ありがとうございます。説明不足で申し訳ございません。
実際に置換したい文字列は、"test_0726_01.csv"です。
構成としては[任意の文字列]_[本日の日付]_[01または02].csvです。
ここから[任意の文字列]を抽出したいです。(”test”)
解決方法として、本日の日付以降を空白にしたらtestを抽出できると考えておりまして
string fileName = "test_0726_01.csv";
string date = DateTime.Now.ToString("yyyyMMdd");
string str = fileName.Replace("_" + date  + <ここが分からない>, ""); // str = "test"にしたい
です。
string str = fileName.Replace("_" + date  + "_01.csv", "");
str = fileName.Replace("_" + date  + "_02.csv", "");
で置換はできるのですが、date以降の文字列全部置換できる関数?があれば教えて頂きたいと思っております。
抽出したいだけなら置換する必要は無くないですか?基礎的な文字列操作なので、回答付いてる方法含めて色々やり方ありますけど。
既にいくつかの方法が回答ついていますが、それらの方法でいけるのかダメなのか、ダメなら何故ダメなのかをコメント付けましょう。
前回も同じような質問してるけど、内容的になんか違うんですかこれ?
https://teratail.com/questions/347372
質問者さん、無言だけど、回答がついているのでそれらに対するフィードバックを書こう。役に立った/多々かなったぐらいは書けるのでは? 役に立たなかったのなら、どこがダメだったのかを書くとより期待に近い回答が出てくるかも。とにかく無言で放置は NG です。
回答4件
あなたの回答
tips
プレビュー