splitで文字列を分割する時によくわからないことがあったので試してみました

paizaラーニングで勉強していて、splitを使って文字列を / で分割した結果について、https://paiza.jp/cgc/users/ready のように/ が2個入っていたらどうなるのが、ぱっと見てよくわかりませんでした。

a/b を / で分割すると a と b の2個に分割されますが、そういう場合はどうなるんだろうと疑問に思ったので、以下のようなコードを用意して paiza.io で標準入力からいろいろ与えて試してみました。

using System;
using System.Collections.Generic;
public class Hello{
    public static void Main(){
        var url_str = Console.ReadLine(); //標準入力から文字列を受け取る
        string[] url = url_str.Split('/'); // 文字列を/で分割する
        Console.WriteLine("文字列は" + url.Length +"個に分割されました"); //文字列が何個に分割されたかを表示する
        for(int i = 0; i < url.Length; i++){
            if(url[i] != "") Console.WriteLine(url[i]);
            else Console.WriteLine("空"); //空の場合は空と表示する
        }
        
    }
}

下記のような入力を与えた場合、結果は以下のようになります。

文字列 結果
/ 空と空の2個に分割
// 空と空と空の3個に分割
/a 空と a の2個に分割
a/ a と空の2個に分割

https://paiza.jp/cgc/users/ready の場合は以下のようになり、6個に分割されます。

https:
空
paiza.jp
cgc
users
ready

結論としては、/ で前後に分かれて、値がなければ空になります。