【PHP・VBA・Javascript・MySQL】文字列切り出し

プログラミングをしていると文字列の中から特定の文字で切り出したい場合があります。各プログラミング言語ごとに関数が異なりますので、プログラミング言語ごとの関数をまとめました。

文字列の切り出しには「Substring」という関数が使われますが、言語ごとに記載が異なりますので注意が必要です。

PHP

構文

substr(string型 切り取り対象の文字列, int 切り取り開始文字番, ?int 切り取り文字数)

使用例

// 先頭から5文字を切り出し
$tmp = substr("abcdef", 0, 5);
echo = $tmp;
abcde

// 2文字目から3文字を切り出し
$tmp = substr("abcdef", 2, 3);
echo = $tmp;
cde

// 後ろ2番目から1文字を切り出し
$tmp = substr("abcdef", -2, 1);
echo = $tmp;
e

PHPでは対象文字列の〇番目から〇文字を取得するという方法になります。

第1引数:対象の文字列をセット

第2引数:切り出し開始文字の順番をセット。ただし先頭文字は0となる。マイナスをセットすると後ろからの文字順を開始文字とする。

第3引数:切り出しする文字数をセット。省略した場合は最後までの文字を取得対象とする。

2バイト文字は「mb_substr」を利用

2バイト文字をsubstrで切り出すと想定通りに切り取ることができないため、mb_substrを利用します。引数についてはsubstrとmb_substrは同じとなります。

VBA

構文

mid(string型 切り取り対象の文字列, int 切り取り開始文字番, ?int 切り取り文字数)

使用例

// 先頭から5文字を切り出し
dim tmp as String
tmp = mid("abcdef", 1, 5)
debug.print tmp
abcde

// 2文字目から3文字を切り出し
tmp = mid("abcdef", 2, 3)
debug.print tmp
bcd

VBAでは対象文字列の〇番目から〇文字を取得するという方法になります。

第1引数:対象の文字列をセット

第2引数:切り出し開始文字の順番をセット。先頭文字は1となる。

第3引数:切り出しする文字数をセット。省略した場合は最後までの文字を取得対象とする。

Javascript

構文

String.substr(int 切り取り開始文字番, ?int 切り取り文字数)

使用例

// 先頭から5文字を切り出し
var tmp = "abcdef";
console.log(tmp.substr(0, 5));
abcde

// 2文字目から3文字を切り出し
console.log(tmp.substr(2, 3));
cde

// 後ろ2番目から1文字を切り出し
$tmp = substr("abcdef", -2, 1);
console.log(tmp.substr(-2, 1));
e

Javascriptでは対象文字列の〇番目から〇文字を取得するという方法になります。

第1引数:切り出し開始文字の順番をセット。ただし先頭文字は0となる。マイナスをセットすると後ろからの文字順を開始文字とする。

第2引数:切り出しする文字数をセット。省略した場合は最後までの文字を取得対象とする。

MySQL

構文

substring(string型 切り取り対象の文字列, int 切り取り開始文字番, ?int 切り取り文字数)

使用例

// 先頭から5文字を切り出し
mysql>select substring("abcdef",5);
mysql>abcde

// 2文字目から3文字を切り出し
mysql>select substring("abcdef",2, 3);
mysql>bcd

MySQLでは対象文字列の〇番目から〇文字を取得するという方法になります。

第1引数:対象の文字列をセット

第2引数:切り出し開始文字の順番をセット。ただし先頭文字は1となる。マイナスをセットすると後ろからの文字順を開始文字とする。

第3引数:切り出しする文字数をセット。省略した場合は最後までの文字を取得対象とする。