• ベストアンサー

C♯で文字列を切り出すには?

C♯の文字列操作について教えてください。 "あいうえお"という文字列があったら、"あ"だけ 切り取って、"いうえお"という文字列がほしいのですが、 どのようにしたら良いのでしょうか? VB.NETでいう、midのようなものがあるかと思ったのですが、 見当たらず…。 サンプルを交えて教えていただけると助かります。 宜しくお願いします。

  • ginfix
  • お礼率34% (330/963)

質問者が選んだベストアンサー

  • ベストアンサー
  • mako_tyo
  • ベストアンサー率37% (61/161)
回答No.2

C#で文字列操作を行うには・・・ 主なもので Substring と Replace があります。 [例 Substring] string str = "あいうえお"; str = str.Substring(2); //strには、いうえお //Substring(2) と指定すると2文字目から最後までを取得します。 //Substring(2,4) と指定すると2文字目から4文字を取得します。 [例 Replace] string str = "あいうえお"; str = str.Replace("あ",""); //strには、いうえお //Replace("あ","") は、文字"あ"を""(空白文字列)に置換しています。 あと一緒に、IndexOf,LastIndexOfというものは、指定した文字列を検索してくれます。一緒に使うと便利だと思います。

参考URL:
http://jeanne.wankuma.com/tips/csharp/string/

その他の回答 (1)

回答No.1

VBでいうMidならString.SubString http://msdn.microsoft.com/ja-jp/library/aka44szs%28VS.80%29.aspx "あ"だけを取り除くのであれば、String.Replace

関連するQ&A

  • 文字列の置き換え

    こんばんは。 VB6を使用しています。 mystring1 = "abcdefghij" mystring2 = "1234567890" という2つの文字列があります。 この文字列の一部(mystring1)をmystring2の一部で 置き換えたいのですが どのようにプログラムを組んだらいいのでしょうか? 例: c1 = Mid(mystring1, 5, 3)(="efg")を c2 = Mid(mystring2, 1, 3) (="123")で置き換えて mystring1 = "abcd123hij" と置き換えを行うことをしたい。 とても初歩的な質問ですがよろしくお願いします。

  • 文字列中の任意の位置の文字取得

    VB6の勉強をしております。 OSはWindowsXPです。 すごく簡単な質問なんですが、C言語のように、文字列中の任意の位置を指定する方法はVB6には無いのでしょうか? 例) C言語:str[1] 添え字で指定出来る VB6:???  思いつく方法はMidを利用し、任意の位置の文字を取得する方法なんですが、それしか無いのでしょうか? 以上、よろしくお願いいたします。

  • ワイルドカードを用いた文字列検索

    皆様こんにちは、 Windows2000+VC6にてワイルドカード(*,?)での文字列比較を 作成したいのですが、そういう関数は無いのですね。 比較対象文字列には2バイト文字も含まれており、*,?自身も 比較できないといけません。 なにか良い方法や、サンプルを教えて頂ければありがたいです。 VBではLIKEで一発だったと思うのに..... VBからCに入ると戸惑うことがいっぱいですね。 よろしくお願い致します。

  • 文字列の分解

    1つのセルに入力された文字列を分解したいのです。 例えばφ20 +0.010/+0.001と有る場合別のセルにφ20、+0.020、+0.001と分解したいのです。 =MID(C1,1,FIND(" ",C1)-1) =MID(C1,FIND(" ",C1)+1,6) =MID(C1,FIND("/",C1)+1,FIND("/",C1)) としているのですが、文字列に” ”や”/”がない場合は#VALUE!となり表示出来ませんし、+0.010の部分の桁が増減すると上手く表示が出来なく成ります。 何かいい方法は無いでしょうか?

  • C言語で文字列操作を忘れてしまいました。

    長い間スクリプト言語ばかりやっておりまして、C言語に戻ると、文字列を返す 関数を作ろうとしましたが、お恥ずかしいながらできませんでした。 ローカル変数の値を戻り値に使おうとして、それがwarningになったり、動作が不安定になったりして、文字列を返す仕組みを完全に忘れてしまっていました。 例えば、"test"と言う文字列を返す関数を書きたいのですが、メモリ操作も考えた サンプルをだれか教えて欲しいです。 int main(void) { printf("%s", 「関数名」); }

  • Visual C++でDESを使って文字列を暗号化したい

    Visual C++初心者です。 文字列をDESを使って暗号化したいのですが、 C#のサンプルしか見つけられませんでした。 C++のサンプルがありましたら教えてください。 以上、よろしくお願いします。

  • スペースを含んだ文字列から文字列の抽出

    エクセルバージョン2007 スペースを含む文字列で、A列に文字列がある時、以下の式を組んで文字列を抽出しています。 先頭にIDの数字が有る場合は、それぞれの目的に合った文字列を抽出しています。 B1=LEFT(A1,SEARCH(" ",A1,1)-1) C1=LEFT(MID(A1,SEARCH(" ",A1,1)+1,LEN(A1)-SEARCH(" ",A1,1)),SEARCH(" ",MID(A1,SEARCH(" ",A1,1)+1,LEN(A1)-SEARCH(" ",A1,1)),1)-1) 3 3df-32654-10 CCCCHH 10 1ab-12345-00 AAABBBB この文字列の場合、B列に3と10が表示、C列に 3df-32654-10 1ab-12345-00が表示されます。 先頭に、IDの無い文字列は以下の様な構成です。 6rt-95132-00 PPPKKK この文字列の場合、B列に6rt-95132-00、C列にPPPKKKが表示されてしまい、この場合、IDの数字が無い場合はB列には表示させない又は、C列に6rt-95132-00させたいと思っています。 ご教授頂ければ幸いです。 以上、宜しくお願い致します。

  • 特定文字列の抽出

    VB6の質問です。 桁数、データが不定の文字列中から特定文字を抽出したいのでが、方法を教えていただけないでしょうか? 抽出したいデータの桁数が毎回不定でMid, Left, Right関数が使用できません。 Dim Buffer As String Buffer = "A12345...B678910.TRAGET..C" '桁数、データが不定の文字列がBufferに入ります。 例えば、変数Bufferから、桁数を考慮しないで"TARGET"の文字列を抽出したのです。 InStr関数で、位置を特定して、Mid関数などで抽出するれば、良いと思うのですが これをどんな桁数のときも対応できるようにルーチン化にできないでしょうか?

  • VB←→API(C)の文字列加工?

    VisualBasic6で、APIなどで返された文字列に\0が含まれていた場合、 VB内部で扱う文字列に変換させる方法やその逆のAPIに渡すとき C用の文字列に変換する関数や方法はあるのでしょうか?

  • 文字列の抽出を簡単にしたい

    文字列から特定文字列を抜き出すには、  文字列の位置、文字列数を指定しなくてはいけません。  現在 「=MID(B4,$D$1,$D$2)」で処理していますが、   文字列の最初が左から何番目か?、文字列数はいくつか?  と目で見てカウントしてd1,d2を決定しています。  このカウントする過程は、正直厄介です。  この操作を簡単に行う方法は無いのでしょうか ?