Pythonの文字列を操作するサンプルです。
目次
文字列を結合する(. 結合演算子)
<?php
print ("あ" . "い"); //あい
$a = "う";
$b = "え";
print ($a.$b); //うえ
?>
ドット(.)は、文字列を結合します。
文字列を追加する(.= 結合代入演算子)
<?php
$a = "あ";
$a .= "い";
print ($a); //あい
?>
結合代入演算子(.=)は、文字列を追加します。
指定した位置の文字列を取得する(mb_substr/substr)
<?php
print mb_substr("あいう",0,1); //あ
print mb_substr("あいう",1,1); //い
print mb_substr("あいう",2,1); //う
print substr("abc",0,1); //a
print substr("abc",1,1); //b
print substr("abc",2,1); //c
?>
日本語のときは、mb_substrを使用します。
1つめの引数は開始位置で、2つめの引数は取得する文字列の長さです。
文字列の位置を取得する(mb_strpos/strpos)
<?php
$a = "あいう";
var_dump(mb_strpos($a,"あ")); //int(0)
var_dump(mb_strpos($a,"い")); //int(1)
var_dump(mb_strpos($a,"う")); //int(2)
var_dump(mb_strpos($a,"か")); //bool(false)
$b = "abc";
var_dump(strpos($b,"a")); //int(0)
var_dump(strpos($b,"b")); //int(1)
var_dump(strpos($b,"c")); //int(2)
var_dump(mb_strpos($b,"f")); //bool(false)
?>
2行目は、日本語の文字列です。
3~5行目は、mb_strposで位置を数値で表示しています。最初の位置は0です。
6行目は、$aに指定の文字(か)が存在しないのでfalseが表示されます。
8行目は、英字の文字列です。
9~11行目は、strposで位置を数値で表示しています。最初の位置は0です。
12行目は、$bに指定の文字(f)が存在しないのでfalseが表示されます。
文字列を繰り返す(str_repeat)
<?php
print str_repeat("あ",2); //ああ
print str_repeat("あいう",2); //あいうあいう
?>
str_repeat関数は、2つめの引数の数だけ文字列を繰り返します。
文字列内で変数を展開する({変数})
<?php
$a = "赤";
print "選択した色は{$a}です"; //選択した色は赤です
print '選択した色は{$a}です'; //選択した色は{$a}です
?>
3行目は、ダブルコーテーションで文字列を囲みその中の波括弧({})の中に変数を指定しています。結果は変数の値が表示(展開)されます。
4行目も波括弧({})の中に変数を指定していますが、シングルコーテーションでいるため変数は展開されません。
文字列の長さを取得する(mb_strlen/strlen)
<?php
print mb_strlen("あいう"); //3
print strlen("abc"); //3
?>
日本語のときは、mb_strlenで文字列の長さを取得します。
前後の半角の空白を削除する(trim)
<?php
$a = " abcde ";
print strlen(trim($a)); //5
print trim($a); //abcde
$b = "abcde ";
print strlen(rtrim($b)); //5
print rtrim($b); //abcde
?>
2行目は、文字列の前後に半角の空白(スペース)があります。
3行目は、trimで前後の空白を削除しているので長さは5です。
全角空白は取り除きません。
rtrimは、文字列の右側の空白やタブや改行等を削除します。
fgets関数を使用すると文字列の最後に改行が入りますが、その改行を削除する場合はrtrimを使用します。
ltrimまたはchopであれば左側の空白を削除します。
文字列の並び順を逆順にする(strrev)
<?php
$a = "abcde";
print strrev($a); //edcba
?>
strrevは、文字列の並び順を逆順にします。
日本語に対応したmb_strrevはありません。
文字列の並び順をランダムにする(str_shuffle)
<?php
$a = "abcde";
print str_shuffle($a); //cbade
?>
str_shuffleは、文字列の並び順をランダムにします。
日本語に対応したmb_str_shuffleはありません。
関連の記事
PHP 文字列の値を比較するサンプル(strcmp)
PHP 文字列の長さを取得するサンプル(mb_strlen/strlen)
PHP 英字の大文字と小文字を変換(strtolower/strtoupper)
PHP 文字列の一部を取得する(mb_substr/substr)
PHP 文字列の位置を取得する(mb_strpos/mb_strrpos)