{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## 5-2 String" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 5-2-1 基本的な振る舞い" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "false\n" ] }, { "data": { "text/plain": [ "true" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "p 'hogehoge'.empty?\n", "''.empty?" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "8\n", "4\n" ] }, { "data": { "text/plain": [ "12" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "p 'hogehoge'.length\n", "p 'ほげほげ'.length\n", "'ほげほげ'.bytesize" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\"ほ\"\n", "\"げ\"\n", "\"ほ\"\n", "\"げ\"\n" ] }, { "data": { "text/plain": [ "\"ほげほげ\"" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "'ほげほげ'.each_char {|c| p c}" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\"ほげほげ\\n\"\n", "\"ふがふが\"\n" ] }, { "data": { "text/plain": [ "\"ほげほげ\\nふがふが\"" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\"ほげほげ\\nふがふが\".each_line {|l| p l}" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "true" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "'Alice Bob Charlie'.include?('Bob')" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "2" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "'foobar'.index('ob')" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "2" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "'こんにちは'.index('にち')" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "true" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "'興味あります'.start_with?('興味')" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\"クラッシュクラウン\"" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "'クラッシュ' + 'クラウン'" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\"とらとらとら\"" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "'とら' * 3" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\"Result: 0042\"" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "'Result: %04d' % 42" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\"Pine\"" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "str = 'Pine'" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\"Pineapple\"" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "str << 'apple'" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\"Pineapple\"" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "str" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 5-2-2 部分文字列の取得" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\"今日は盛り上がりすぎて進みませんでした\"" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "str = \"今日は盛り上がりすぎて進みませんでした\"" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\"り\"" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "str.slice(4)" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\"上がりす\"" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "str.slice(5, 4)" ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\"上がり\"" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "str.slice(5...8)" ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\"がりすぎて\"" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "str.slice(/[ぁ-ん]{2,}/)" ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\"した\"" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "str.slice(-2, 2)" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\"り\"\n", "\"上がりす\"\n", "\"上がり\"\n" ] }, { "data": { "text/plain": [ "\"がりすぎて\"" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "p str[4]\n", "p str[5, 4] # mjd!\n", "p str[5...8]\n", "str[/[ぁ-ん]{2,}/] # ファッ!?" ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\"した\"" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "str.slice!(-2, 2)" ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\"今日は盛り上がりすぎて進みませんで\"" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "str" ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\"今日は盛り上がりすぎて進みませんでしたか?\"" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "str << \"したか?\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "次回は 5-2-3 文字列の整形 から" ] } ], "metadata": { "kernelspec": { "display_name": "Ruby 2.2.2", "language": "ruby", "name": "ruby" }, "language_info": { "file_extension": "rb", "mimetype": "application/x-ruby", "name": "ruby", "version": "2.2.2" } }, "nbformat": 4, "nbformat_minor": 0 }