• ベストアンサー

文字間の採取

ABCDE 上記からCDをとるにはどうしたらよいでしょう? ※CDは可変&改行ありです。

質問者が選んだベストアンサー

  • ベストアンサー
  • junkUser
  • ベストアンサー率56% (218/384)
回答No.2

こんなんでいかがでしょうか <script type="text/javascript"> var str = "ABC\r\nDEFG"; var rex = new RegExp("AB([^G]+)G","m"); if (str.match(rex)) { alert(RegExp.$1); } else { alert("マッチしません。"); } </script>

mpqfiogwd
質問者

お礼

JSは使うことないので入門サイト見てこんなの作ってました。 str = "ABC\r\nDEFG"; document.write("<br>★ str = " + str); str_in = str.indexOf("AB") + 2; document.write("<br>★ str_in = " + str_in); str_out = str.indexOf("G"); document.write("<br>★ str_out = " + str_out); str_core = str.slice(str_in, str_out); document.write("<br>★ str_core = " + str_core); 希望にぴったりのクールなプログラムありがとでした。

その他の回答 (1)

  • notnot
  • ベストアンサー率47% (4900/10359)
回答No.1

CDが可変とのことですが、ABとEは固定と言うこと?それとも、3文字目と4文字目を取り出すと言うこと? また、元の文字列は変数に入っていると思って良いんですよね?

mpqfiogwd
質問者

補足

はい。 例1) ABCDE ->CD 例2) ABC12\r\n 3DE ->C12\r\n3D 例3) AB1\r\n \r\n 23E ->1\r\n\r\n23 AB&Eは固定です。 ABからEの間にAB or Eの文字列は含まれません。(Eはここでは一文字ですが、実際は文字列です。) 文字列は変数$strにあります。戻り値も適当な変数に格納したいです。

関連するQ&A

専門家に質問してみよう