職案人

求職・歴史・仏教などについて掲載するつもりだが、自分の思いつきが多いブログだよ。適当に付き合って下さい。

文字列を分割する

2022年02月13日 | Ruby3.0.1
文字列を分割する


【開発環境】
OS:Win10(64ビット)
Ruby 3.0.1
VSCodeバージョン: 1.57.1

【splitメソッド】
文字列を指定の文字や正規表現を使って分割する方法として、splitメソッドを使う

・書式
split([sep[, limit]])
1番目の引数に指定したパターンに従って文字列を分割し、分割された各部分文字列を要素とする配列を取得します。

例文
str = "Tokyo,Osaka,Nagoya,Fukuoka"
strAry = str.split(",")
カンマ(,)で文字列を分割して結果を配列に格納する。
配列には["Tokyo", "Osaka", "Nagoy", "Fukuoka"]のように区切り文字が取り除かれた状態で格納される

1文字ずつ分割する場合
str = "Tokyo"
strAry = str.split(//)

【分割数を制限する】
「split」メソッドの2番目の引数を使って分割数を制限する。
「limit」に正の整数を指定した場合、分割される最大数となります。また負の整数を指定した場合は無制限となります。省略した場合又は0を指定した場合も無制限となりますが、この場合は分割された結果の配列の末尾に空文字列が含まれる場合は削除されます。

例文1
str = "Tokyo,Osaka,Nagoya,,"
strAry = str.split(",")
上記の場合にはカンマ(,)で文字列を分割して結果を配列に格納しますが配列には["Tokyo", "Osaka", "Nagoy", "Fukuoka"]となり空文字列は削除されます。

例文2
str = "Tokyo,Osaka,Nagoya,,"
strAry = str.split(",", -1)
上記の場合にはカンマ(,)で文字列を分割して結果を配列に格納しますが配列には["Tokyo", "Osaka", "Nagoy", "Fukuoka","",""]となります。

例文3
str = "Tokyo,Osaka,Nagoya,,"
strAry = str.split(",", 2)
上記の場合にはカンマ(,)で文字列を分割して結果を配列に格納しますが最大分割数が「2」に設定されているため配列には["Tokyo", "Osaka,Nagoya,,"]となります。

サンプルプログラム

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

空白文字を取り除く

2022年02月10日 | Ruby3.0.1
空白文字を取り除く


【開発環境】
OS:Win10(64ビット)
Ruby 3.0.1
VSCodeバージョン: 1.57.1

【stripメソッド】
文字列の先頭や末尾に含まれる空白文字(及びタブなど)を削除する方法として、「strip」メソッドがある。

・書式
strip
先頭と末尾の空白文字を全て取り除いて新しい文字列を返します。 空白文字として削除される文字は空白「 」の他に「¥t」「¥r」「¥n」「¥f」「¥v」がある。

例文
str = " Hello¥r"
newStr = str.strip
上記の場合には変数「newStr」には「Hello」が格納されます。

なお「strip」の代わりに「strip!」メソッドを使った場合は先頭と末尾の空白文字を取り除いた結果を新しい文字列として返すのではなく、元の文字列を書き換えます。
strip!

例文
str = " Hello¥r"
str.strip!
上記の場合には変数「str」には「Hello」が格納されます。

【取り除く位置として先頭又は末尾を指定する】
「lstrip」メソッド及び「lstrip!」メソッドは文字列の先頭の空白文字を取り除きます。「lstrip」メソッドは取り除いた結果として新しい文字列を作成するのに対して「lstrip!」メソッドは元の文字列を書き換えます。

【サンプルプログラム】


コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

末尾の改行文字を取り除く

2022年02月08日 | Ruby3.0.1
末尾の改行文字を取り除く


【開発環境】
OS:Win10(64ビット)
Ruby 3.0.1
VSCodeバージョン: 1.57.1

【chompメソッド】
ファイルなどから文字列を読み込んだ場合など文字列に含まれる改行文字を取り除いて処理したい場合があります。改行文字は「¥r」の他に「¥r¥n」「¥n」などがあり1つ1つ検索して削除するのは面倒です。そこで文字列の最後に含まれる改行文字を取り除く方法を確認します。Stringクラスで用意されている「chomp」メソッドを使います。

・書式
chomp([rs])
引数に指定した改行文字が文字列の最後に含まれていた場合、取り除いて新しい文字列を返します。引数を省略した場合には末尾にある「¥r」「¥r¥n」「¥n」の全ての改行文字が削除されます。

例文
str = "Hello¥r"
newStr = str.chomp
上記の場合には変数「newStr」には「Hello」が格納されます。

なお「chomp」の代わりに「chomp!」メソッドを使った場合は末尾の改行文字を取り除いた結果を新しい文字列として返すのではなく、元の文字列を書き換えます。

・書式
chomp!([rs])

・例文
str = "Hello¥r"
str.chomp!
上記の場合には変数「str」には「Hello」が格納されます。

サンプルプログラム
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

文字列の一部を削除する

2022年02月06日 | Ruby3.0.1
文字列の一部を削除する


【開発環境】
OS:Win10(64ビット)
Ruby 3.0.1
VSCodeバージョン: 1.57.1

【deleteメソッド】
文字列の中から指定した文字列を削除する方法。Stringクラスの「delete」メソッドを使う

・書式
delete(str[, str2[, ... ]])
引数に指定した文字列が含まれていた場合は全て削除して、結果として新しい文字列を返します。削除したい文字列が複数ある場合はカンマ(,)で区切って続けて引数に記述します。

・例文
str = "Hello"
newStr = str.delete("ll")
上記の場合には変数「newStr」には「Heo」が格納されます。

なお「delete」の代わりに「delete!」メソッドを使った場合は部分文字列を取り除いた結果を新しい文字列として返すのではなく、元の文字列を書き換えます。

・書式
delete!(str[, str2[, ... ]])

サンプルプログラム
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

文字列を検索する

2022年02月04日 | Ruby3.0.1
文字列を検索する


【開発環境】
OS:Win10(64ビット)
Ruby 3.0.1
VSCodeバージョン: 1.57.1

【indexメソッド】
文字列の中に指定の文字列が含まれるかどうかを検索するには、Stringクラスのindexメソッドを使う。

・書式
index(pattern[, pos])
文字列の検索を左端から右端に向かって行います。見つかった場合は文字列の左端の位置を返します。見つからなければ「nil」を返します。
1番目の引数に検索する文字列又は文字コードを指定します。2番目の引数を指定した場合には検索を開始する位置を指定します。

例文
str = "Hello"
pos = str.index("ll")
上記の場合には変数「pos」には「2」が格納される。

【rindexメソッド】
文字列の右端から検索する時は、rindexメソッドを使う

・書式
rindex(pattern[, pos])
1番目の引数に検索する文字列又は文字コードを指定します。2番目の引数を指定した場合には検索を開始する位置を指定します。

例文
str = "Hello"
pos = str.rindex("l")
上記の場合には変数「pos」には「3」が格納される

サンプル

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする