{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "### 5-2-3 文字列の整形" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\"hi\"\n", "\" hi\"\n", "\"hi \\t\"\n" ] }, { "data": { "text/plain": [ "\"hi \\t\"" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "str = \" hi \\t\"\n", "\n", "p str.strip\n", "p str.rstrip\n", "p str.lstrip" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\"hi \\n\"" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\"hi \\n\\n\".chomp" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\"User\"" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "'Users'.chop" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\"foo\"" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\"foo.\".sub(/\\.$/,'')" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\"foo\"" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\"foo.\"[0...-1]" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\"yaho\"" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "'yahoooooooooooooooooo'.squeeze" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\"abcdd\"" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "'aabbbccdd'.squeeze('abc')" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\"abcdd\"" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "'aabbbccdd'.squeeze('a-c')" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\"aabcd\"" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "'aabbbccdd'.squeeze('^a')" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\" aabb\"" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "' aabb'.squeeze(\"\\s\")" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\" aabb\"" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "' aabb'.squeeze('\\s')" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\" \"" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\"\\s\"" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\"abc\"\n", "\"ABC\"\n", "\"aBC\"\n", "\"Title\"\n" ] }, { "data": { "text/plain": [ "\"Title\"" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "p 'ABC'.downcase\n", "p 'abc'.upcase\n", "p 'Abc'.swapcase\n", "p 'tiTle'.capitalize" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\"x-9-7-24\"" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "'55-9-7-24'.sub(/[0-9]+/, 'x')" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\"x-x-x-x\"" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "'55-9-7-24'.gsub(/[0-9]+/, 'x')" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\"56-10-8-25\"" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "'55-9-7-24'.gsub(/[0-9]+/) {|str| str.to_i.succ}" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "2" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "1.succ" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "1.pred" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\"56-10-8-25\"" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "'55-9-7-24'.gsub(/([0-9]+)/) { $1.to_i.succ }" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\"hi\"\n", "nil\n" ] } ], "source": [ "str = ' hi '\n", "p str.strip!\n", "\n", "p str.strip!" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\"mad\"\n", "\"ムダムダムダムダムダ\"\n" ] }, { "data": { "text/plain": [ "\"ムダムダムダムダムダ\"" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "p 'dam'.reverse\n", "p 'ダムダムダムダムダム'.reverse" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "str = 'dam'\n", "str.reverse!\n", "str" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 5-2-4 配列への変換" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[\"America\", \" Briten\", \" Canada\"]\n", "[\"America\", \"Briten\", \"Canada\"]\n" ] }, { "data": { "text/plain": [ "[\"America\", \"Briten\", \"Canada\"]" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "str = 'America, Briten, Canada'\n", "\n", "p str.split(',')\n", "p str.split(/,\\s+/)" ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\"Briten, Canada\"" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "str.split(/,\\s+/, 2)[1]" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[\"A\", \"l\", \"i\", \"c\", \"e\"]" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "'Alice'.split(//)\n", "'Alice'.each_char.to_a" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "'Alice'.each_byte.to_a" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 5-2-5 繰り返し処理" ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\"ブ\"\n", "\"フ\"\n", "\"ー\"\n" ] }, { "data": { "text/plain": [ "\"ブフー\"" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "'ブフー'.each_char{|c| p c}" ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\"Alice\\n\"\n", "\"Bob\\n\"\n", "\"Carrot\"\n" ] }, { "data": { "text/plain": [ "\"Alice\\nBob\\nCarrot\"" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\"Alice\\nBob\\nCarrot\".each_line{|line| p line}" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\"\\n\"" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "$/" ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\"Alice\\t\"\n", "\"Bob\\t\"\n", "\"Carrot\"\n" ] }, { "data": { "text/plain": [ "\"Alice\\tBob\\tCarrot\"" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\"Alice\\tBob\\tCarrot\".each_line(\"\\t\"){|line| p line}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "次回は「5-2-6 エンコーディングの扱い」から" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Ruby 2.3.0", "language": "ruby", "name": "ruby" }, "language_info": { "file_extension": ".rb", "mimetype": "application/x-ruby", "name": "ruby", "version": "2.3.0" } }, "nbformat": 4, "nbformat_minor": 0 }