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