お寿司か焼き肉食べたい

まじめな事からしょーもない事まで
めにゅーを開く(投げやり)

文字列をあれこれしてしまおうぞ

変数がStringタイプの時に使用できるオブジェクトです。
文字列を変更したりすることができます。
良く使いそうなメソッドを抜粋しています。

String.replace

文字列を置換します。

//--------------------------
// 引数指定
//--------------------------
String.replace([置換対象文字],[置換する文字]);

//--------------------------
// 戻り値
//--------------------------
// 置換後の文字列 置換対象がない場合はそのまま戻る

var test = 'ホンマにお前はXXやで';
test = test.replace('XX','妖怪金くれぇ');
alert(test); // ホンマにお前は妖怪金くれぇやで

但し、最初にマッチした時点で検索・置換処理は終了します。
全ての文字を置換したい場合は、正規表現を使用して置換するのが一般的です。
正規表現についてはまた後程、って事で。

// replaceをそのまま使った時
var test = '○○!と叫んだときには、すでに○○の姿はなかった。南無三。谷底に落ちたんだろう';
test = test.replace('○○','うーちゃん');
alert(test); // うーちゃん!と叫んだときには、すでに○○の姿はなかった。南無三。谷底に落ちたんだろう

// 正規表現を使用した時
test = '○○!と叫んだときには、すでに○○の姿はなかった。南無三。谷底に落ちたんだろう';
test = test.replace(/○○/g,'うーちゃん'); // gを付けることで全検索を行う。
alert(test); // うーちゃん!と叫んだときには、すでにうーちゃんの姿はなかった。南無三。谷底に落ちたんだろう

String.slice

文字列を指定範囲で取り出します。

//--------------------------
// 引数指定
//--------------------------
String.slice([開始文字数],[終了文字数]);
// 終了文字数は任意、無ければ最終文字まで
// 終了文字はマイナス指定で最後から数えて何文字目って事になります。
// 終了文字数が対象の文字数より多い場合は最終文字まで取り出します。
// 開始文字数 > 終了文字数の場合は空が戻されます。

//--------------------------
// 戻り値
//--------------------------
// 取り出した文字
var test = '60万くれたら寿司おごってやるよ!ただではおごらんぞ';
test = test.slice(7,-6);
alert(test); // 寿司おごってやるよ!ただで

String.split

指定文字で区切って配列にデータを入れ込みます。

//--------------------------
// 引数指定
//--------------------------
String.split([区切り文字]);

//--------------------------
// 戻り値
//--------------------------
// 配列
// 区切り文字が存在しない場合でも配列に格納されてきます
var test = '2015/03/31';
test = test.split('/');
console.log(test); // [2015,03,31]

String.indexOf

指定文字でが含まれているかどうかをチェックします。

//--------------------------
// 引数指定
//--------------------------
String.indexOf([検索文字]);

//--------------------------
// 戻り値
//--------------------------
// 文字列開始位置
// 存在しない場合は-1が返ってきます。
var test = 'A「重要な連絡をするぞ!まずは」C「ちくわ大明神」B「はい!わかりました!」';

if(test.indexOf('ちくわ大明神') >= 0)
{
  alert('誰だ今の');
}
else
{
  alert('ちくわ大明神どこいった');
}

String.mach

指定された条件に一致した文字列を配列に格納して戻します。

//--------------------------
// 引数指定
//--------------------------
String.mach([正規表現]);

//--------------------------
// 戻り値
//--------------------------
// 一致した文字配列
// 存在しない場合は nullが返ってきます。
  var str = "睦月如月弥生卯月皐月";
  var re = /(睦月|卯月)/gi;
  var found = str.match(re);
  alert(found); // [睦月,卯月]

  //----------------------------------
  // 正規表現での文字列存在確認方法
  //----------------------------------
  if(str.match(re) != null)
  {
    // 条件にマッチした
  }
  else
  {
    // マッチしなかった
  }

練習問題的な

  • 1:文字置換
    とある文字を置換する関数を作り、置換後の値を表示させてください。
    例:
    置換対象:おすし
    置換文字:やきにく
  • 2:文字列取り出し+文字数
    以下の動作を実行する関数を作ってください。

    条件1:入力文字数が20文字であるもの。
    条件2:入力文字の4文字目から6文字目まで抜き出したものと
    11文字目から14文字目まで抜き出したものを合わせて
    test_abとなるかどうか

    上記2条件を満たした場合は、trueを、それ以外はfalseを返す関数を作ってください。
  • 3:文字列分割
    #で文字を分割してconsoleで出してみてください。
    ループ分を使用しての表示でも可です。