ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
JavaScript: String.prototype.split
'apple,banana,cherry'.split(',');
// ['apple', 'banana', 'cherry']
// 空白を含む場合
'apple, banana , cherry'.split(',');
// ['apple', ' banana ', ' cherry'] ← 空白付き
// trim でクリーンに
'apple, banana , cherry'.split(',').map(s => s.trim());
// ['apple', 'banana', 'cherry']
// 空要素を除く
'a,,b,'.split(','); // ['a', '', 'b', '']
'a,,b,'.split(',').filter(Boolean); // ['a', 'b']
// 分割数の制限
'a,b,c,d'.split(',', 2); // ['a', 'b']
// 数値配列に
'1,2,3,4'.split(',').map(Number); // [1, 2, 3, 4]
'1, 2, 3'.split(',').map(s => parseInt(s, 10));
// 複数の区切り(正規表現)
'a,b;c d'.split(/[,;\s]+/); // ['a', 'b', 'c', 'd']
PHP: explode と str_getcsv
$v !== '');
// [0 => 'a', 2 => 'b'] ← キーが歯抜けに注意
// キーを振り直す
$arr = array_values($arr);
// ['a', 'b']
// 数値化
$nums = array_map('intval', explode(',', '1,2,3'));
// [1, 2, 3]
// 分割数の制限
explode(',', 'a,b,c,d', 2); // ['a', 'b,c,d']
// CSV(クォート / エスケープ対応)
$csv = '"Hello, World",foo,"bar ""baz"""';
$arr = str_getcsv($csv);
// ['Hello, World', 'foo', 'bar "baz"']
Python: split と csv モジュール
# 基本
'apple,banana,cherry'.split(',')
# ['apple', 'banana', 'cherry']
# 空白除去
[s.strip() for s in 'apple, banana , cherry'.split(',')]
# ['apple', 'banana', 'cherry']
# 空要素除去
[s for s in 'a,,b,'.split(',') if s]
# ['a', 'b']
# 数値化
list(map(int, '1,2,3'.split(',')))
# [1, 2, 3]
# 分割数の制限
'a,b,c,d'.split(',', maxsplit=2)
# ['a', 'b', 'c,d']
# 複数の区切り
import re
re.split(r'[,;\s]+', 'a,b;c d')
# ['a', 'b', 'c', 'd']
# CSV
import csv
import io
reader = csv.reader(io.StringIO('"Hello, World",foo,bar'))
for row in reader:
print(row)
# ['Hello, World', 'foo', 'bar']
言語別早見表
| 言語 | 基本 | CSV |
|---|---|---|
| JavaScript | str.split(',') | Papa Parse |
| PHP | explode(',', $str) | str_getcsv() |
| Python | str.split(',') | csv.reader |
| Java | str.split(",") | OpenCSV / Apache Commons CSV |
| C# | str.Split(',') | CsvHelper |
| Ruby | str.split(',') | CSV.parse |
| Go | strings.Split(s, ",") | encoding/csv |
| SQL (MySQL) | SUBSTRING_INDEX | FIND_IN_SET |
CSV は必ず CSV パーサを使う
split で CSV をパースするのは禁忌。クォート、エスケープ、フィールド内改行に対応できません:
# 危険な CSV
name,address,note
"山田 太郎","東京都, 千代田区","彼は ""エキスパート"" だ"
# split(',') すると壊れる
# → ['"山田 太郎"', '"東京都', ' 千代田区"', ... ] ← クォート内のカンマを誤分割
JavaScript で本格 CSV: Papa Parse
// npm install papaparse
import Papa from 'papaparse';
const csv = `name,age,city
山田太郎,30,"東京都, 千代田区"
鈴木一郎,25,大阪府`;
const result = Papa.parse(csv, {
header: true,
skipEmptyLines: true,
dynamicTyping: true, // 数値を自動変換
});
console.log(result.data);
// [
// { name: '山田太郎', age: 30, city: '東京都, 千代田区' },
// { name: '鈴木一郎', age: 25, city: '大阪府' }
// ]
SQL: カンマ区切り文字列を行に展開
-- MySQL 8+ / Postgres / SQLite で利用可能
-- 例: 'a,b,c' を 3 行に分解
-- MySQL 8 (再帰 CTE)
WITH RECURSIVE split(word, str) AS (
SELECT
SUBSTRING_INDEX('apple,banana,cherry', ',', 1),
SUBSTRING(CONCAT('apple,banana,cherry', ','),
LENGTH(SUBSTRING_INDEX('apple,banana,cherry', ',', 1)) + 2)
UNION ALL
SELECT
SUBSTRING_INDEX(str, ',', 1),
SUBSTRING(str, LENGTH(SUBSTRING_INDEX(str, ',', 1)) + 2)
FROM split WHERE str <> ''
)
SELECT word FROM split WHERE word <> '';
-- Postgres は string_to_array + unnest
SELECT unnest(string_to_array('apple,banana,cherry', ','));
-- SQL Server 2016+ は STRING_SPLIT
SELECT value FROM STRING_SPLIT('apple,banana,cherry', ',');
逆: 配列 → カンマ区切り文字列
['a', 'b', 'c'].join(','); // 'a,b,c'
['a', 'b', 'c'].join(', '); // 'a, b, c'
// PHP
implode(',', ['a', 'b', 'c']); // 'a,b,c'
// Python
','.join(['a', 'b', 'c']) # 'a,b,c'
', '.join(map(str, [1, 2, 3])) # '1, 2, 3' ← int を str 化が必要
FAQ
Q: 末尾のカンマで空要素が残る
A: 'a,b,'.split(',') は ['a', 'b', '']。空文字を除外したいなら .filter(Boolean) や .filter(s => s !== '') を使ってください。
Q: タブ区切り (TSV) の場合は
A: str.split('\t') でも動きますが、CSV パーサに delimiter: '\t' を渡すのが安全。
Q: ネストされた配列を CSV にしたい
A: CSV は 2 次元表形式が前提。ネスト構造には JSON を使うのが筋。CSV にどうしても入れるなら、内部をエスケープ済 JSON 文字列にしてセルに格納します。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
同階層のページ
- インストール方法
- 文法
- Composerのインストール
- 内部関数
- フレームワーク
- エラー一覧
- 改行出力
- printとechoの違い
- シングルクォートとダブルクォートの違い
- returnとyieldの違い
- var_dumpをログ出力
- CSV読み込み
- 待機・処理の遅延
- ログファイルにエラーを出力する方法
- エラーログ出力関数
- URLパラメータの配列化
- empty, is_null. issetの判定比較表
- httpステータスコードの付与
- バージョンの確認
- php.ini
- APIを呼び出す方法
- 外部ファイルを呼び出す方法
- カンマ区切りの文字列を配列に変換
- 配列からランダムに値を取り出す方法
- Webスクレイピング
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Laravel キャッシュクリア完全ガイド(cache:clear / config:clear / 2026-05-18 07:42:07
- プロジェクトの作成と削除 2026-05-18 07:42:07
- インストール直後にNetbeansが反応しない 2026-05-18 07:42:07
- 動画やチャンネルの検索 2026-05-18 07:42:07
- APIキー取得方法 2026-05-18 07:42:07
- チャンネル情報の取得 2026-05-18 07:42:07
- API 入門 — Web API(REST / GraphQL / gRPC / 2026-05-18 07:42:07
- インストール(eclipseプラグイン) 2026-05-18 07:42:07
- Laravel「Dotenv values containing spaces must be surrounded 2026-05-18 07:42:07
- エラー一覧 2026-05-18 07:42:07
- curl: (51) SSL: certificate subject name '~' does not match 2026-05-18 07:42:07
- インストール方法(Windows版) 2026-05-18 07:42:07
- JSONから配列に変換 2026-05-18 07:42:07
- 処理を一定時間待つ 2026-05-18 07:42:07
- A non well formed numeric value encountered 2026-05-18 07:42:07
コメントを削除してもよろしいでしょうか?