C# 文字列の一部を取得する Substring

こんにちは。レモンティーです。

今回は、文字列の一部分だけを抜き出して取得します。

使うのはこれです。

var x = a.Substring(n);
//または
var x = a.Substring(n,L)

上のように書くと
xにaのn文字目以降が入ります。(最後まで)

下側のように書くと
n文字目から数えてL文字がはいります。

ただし、n文字目というのは0から数え始めるので
ちょっと普段の感覚とは異なります。

なので、↓でもでてきたIndexOfメソッドと組み合わせます。
sawalemounity.hatenablog.com

例えば

 var a = new List<string>
            { "私の名前は山田です。好きな食べ物は、しっとりリングドーナツです。",
              "私は田中。好きな食べ物は、カレーです。",
              "私は山本と申します。好きな食べ物は、焼き肉です。",
            };

         foreach(var x in a)
            {
                var q = "好きな食べ物は、";
                var index = x.IndexOf(q)+q.Length;
                var ff = x.Substring(index);
                Console.WriteLine(ff);
            }

こんな風に書くと

f:id:sawalemontea:20171109203938p:plain

のように出力されます。


「です。」が気になるので
「好きな食べ物は、」から「です。」の間を切り取りたいところですが…

今回は山田君が名前の後でも「です。」と言ってるのでめんどいです
これで消す方がよさそうですね。
sawalemounity.hatenablog.com


ちなみに絶対やめたほうがよさそうですが、
これでも一応できます笑

foreach(var x in a)
            {
                var q = "好きな食べ物は、";
                var index = x.IndexOf(q)+q.Length;
                var ff = x.Substring(index);

                var eow = "です。";
                var indexE = ff.IndexOf(eow);
                ff = ff.Substring(0,indexE);

                Console.WriteLine(ff);
            }

f:id:sawalemontea:20171109210044p:plain



今回はこれでおしまいです。

sawalemounity.hatenablog.com

sawalemounity.hatenablog.com

sawalemounity.hatenablog.com