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
結論としては、/ で前後に分かれて、値がなければ空になります。