国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 編程 > Ruby > 正文

實(shí)例演示Ruby中常用的字符串處理

2020-02-24 15:38:28
字體:
供稿:網(wǎng)友

Ruby中的字符串對象保留并操作任何序列的一個或多個字節(jié),通常是人類語言的字符表示,今天武林技術(shù)頻道將為大家分享實(shí)例演示Ruby中常用的字符串處理,一起進(jìn)入下文了解一下吧!

1.返回字符串的長度

復(fù)制代碼 代碼如下:

str.length => integer


2.判斷字符串中是否包含另一個串

?

復(fù)制代碼 代碼如下:

?


str.include? other_str => true or false
"hello".include? "lo"?? #=> true
"hello".include? "ol"?? #=> false
"hello".include? ?h???? #=> true


3.字符串插入

?

復(fù)制代碼 代碼如下:

?


str.insert(index, other_str) => str
"abcd".insert(0, 'X')??? #=> "Xabcd"
"abcd".insert(3, 'X')??? #=> "abcXd"
"abcd".insert(4, 'X')??? #=> "abcdX"
"abcd".insert(-3, 'X')
-3, 'X')?? #=> "abXcd"
"abcd".insert(-1, 'X')?? #=> "abcdX"


4.字符串分隔,默認(rèn)分隔符為空格

?

復(fù)制代碼 代碼如下:

?


str.split(pattern=$;, [limit]) => anArray
" now's the time".split??????? #=> ["now's", "the", "time"]
"1, 2.34,56, 7".split(%r{,/s*}) #=> ["1", "2.34", "56", "7"]
"hello".split(//)?????????????? #=> ["h", "e", "l", "l", "o"]
"hello".split(//, 3)??????????? #=> ["h", "e", "llo"]
"hi mom".split(%r{/s*})???????? #=> ["h", "i", "m", "o", "m"]
"mellow yellow".split("ello")?? #=> ["m", "w y", "w"]
"1,2,,3,4,,".split(',')???????? #=> ["1", "2", "", "3", "4"]
"1,2,,3,4,,".split(',', 4)????? #=> ["1", "2", "", "3,4,,"]


5.字符串替換

?

復(fù)制代碼 代碼如下:

?


str.gsub(pattern, replacement) => new_str
str.gsub(pattern) {|match| block } => new_str
"hello".gsub(/[aeiou]/, '*')????????????? #=> "h*ll*"???? #將元音替換成*號
"hello".gsub(/([aeiou])/, '</1>')???????? #=> "h<e>ll<o>"?? #將元音加上尖括號,/1表示保留原有字符???
"hello".gsub(/./) {|s| s[0].to_s + ' '}?? #=> "104 101 108 108 111 "


字符串替換二:

?

復(fù)制代碼 代碼如下:

?


str.replace(other_str) => str
s = "hello"???????? #=> "hello"
s.replace "world"?? #=> "world"


6.字符串刪除

?

復(fù)制代碼 代碼如下:

?


str.delete([other_str]+) => new_str
"hello".delete "l","lo"??????? #=> "heo"
"hello".delete "lo"??????????? #=> "he"
"hello".delete "aeiou", "^e"?? #=> "hell"
"hello".delete "ej-m"????????? #=> "ho"


7.去掉前和后的空格

?

復(fù)制代碼 代碼如下:

?


str.lstrip => new_str
" hello ".lstrip?? #=> "hello "
"hello".lstrip?????? #=> "hello"


8.字符串匹配

?

復(fù)制代碼 代碼如下:

?


str.match(pattern) => matchdata or nil


9.字符串反轉(zhuǎn)

?

復(fù)制代碼 代碼如下:

?


str.reverse => new_str
"stressed".reverse?? #=> "desserts"


10.去掉重復(fù)的字符

?

復(fù)制代碼 代碼如下:

?


str.squeeze([other_str]*) => new_str
"yellow moon".squeeze????????????????? #=> "yelow mon" #默認(rèn)去掉串中所有重復(fù)的字符
" now?? is the".squeeze(" ")???????? #=> " now is the" #去掉串中重復(fù)的空格
"putters shoot balls".squeeze("m-z")?? #=> "puters shot balls" #去掉指定范圍內(nèi)的重復(fù)字符


11.轉(zhuǎn)化成數(shù)字

?

復(fù)制代碼 代碼如下:

?


str.to_i=> str
"12345".to_i???????????? #=> 12345

?

chomp和chop的區(qū)別:

chomp:去掉字符串末尾的/n或/r
chop:去掉字符串末尾的最后一個字符,不管是/n/r還是普通字符

?

復(fù)制代碼 代碼如下:

"hello".chomp??????????? #=> "hello"
"hello/n".chomp????????? #=> "hello"
"hello/r/n".chomp??????? #=> "hello"
"hello/n/r".chomp??????? #=> "hello/n"
"hello/r".chomp????????? #=> "hello"
"hello".chomp("llo")???? #=> "he"

?

"string/r/n".chop?? #=> "string"
"string/n/r".chop?? #=> "string/n"
"string/n".chop???? #=> "string"
"string".chop?????? #=> "strin"

?

split是String類的一個類方法,我根據(jù)ri String.split提供的內(nèi)容簡單翻譯一下。
----------------------------------------------------------- String#split
str.split(pattern=$;, [limit]) => anArray
------------------------------------------------------------------------
Divides _str_ into substrings based on a delimiter, returning an
array of these substrings.
將一個字符串用分隔符分割成一些子字符串,并返回一個包含這些子字符串的數(shù)組。

If _pattern_ is a +String+, then its contents are used as the
delimiter when splitting _str_. If _pattern_ is a single space,
_str_ is split on whitespace, with leading whitespace and runs of
contiguous whitespace characters ignored.
如果pattern部分是一個字符串,那么用它作分割符來分隔,如果pattern是一個空格,那么在空格處分割,并且臨近的空格被忽略。

If _pattern_ is a +Regexp+, _str_ is divided where the pattern
matches. Whenever the pattern matches a zero-length string, _str_
is split into individual characters.
如果pattern是個正則表達(dá)式,那么在匹配pattern的地方分割,當(dāng)pattern是長度為0的字符串,那么split將把字符串分割為單個字符

If _pattern_ is omitted, the value of +$;+ is used. If +$;+ is
+nil+ (which is the default), _str_ is split on whitespace as if `
' were specified.
如果pattern被忽略,將用$;來分隔,如果$;沒有設(shè)置(就是在默認(rèn)狀態(tài)),split將制定空格' '
If the _limit_ parameter is omitted, trailing null fields are
suppressed. If _limit_ is a positive number, at most that number of
fields will be returned (if _limit_ is +1+, the entire string is
returned as the only entry in an array). If negative, there is no
limit to the number of fields returned, and trailing null fields
are not suppressed.
如果limit參數(shù)被忽略,跟蹤空段被抑制,如果limit是個正數(shù),那么至多返回limit個字段(如果是1,那么將整個字符串作為一個字段返回),如果是個負(fù)數(shù),那么跟蹤空段不被抑制。

" now's the time".split #=> ["now's", "the", "time"]
" now's the time".split(' ') #=> ["now's", "the", "time"]
" now's the time".split(/ /) #=> ["", "now's", "", "the", "time"]
"1, 2.34,56, 7".split(%r{,/s*}) #=> ["1", "2.34", "56", "7"]
"hello".split(//) #=> ["h", "e", "l", "l", "o"]
"hello".split(//, 3) #=> ["h", "e", "llo"]
"hi mom".split(%r{/s*}) #=> ["h", "i", "m", "o", "m"]

"mellow yellow".split("ello") #=> ["m", "w y", "w"]
"1,2,,3,4,,".split(' ,') #=> ["1", "2", "", "3", "4"]
"1,2,,3,4,,".split(',', 4) #=> ["1", "2", "", "3,4,,"]
"1,2,,3,4,,".split(',', -4) #=> ["1", "2", "", "3", "4", "", ""]

如果包含特殊字符,注意轉(zhuǎn)義
"wo | shi | yi | ge | bing".split(//s*/|/s*) #豎杠別忘了轉(zhuǎn)義

還有它和String.scan的區(qū)別,split中的pattern是分隔符,而scan中的pattern指的是要匹配的東西。

"123=342=4234=523421=6424".scan(//d+/) #=> ["123","342","4234","523421","6424"]


如果匹配項(xiàng)被括起來,那么則會保留分割符,例如:

"Three little words".split(//s+/) #===>["three","little",words"]
"Three little words".split(/(/s+)/) #===>["three"," ","little"," ","words"] 保留了空格

看了以上的介紹,相信大家已經(jīng)明白了實(shí)例演示Ruby中常用的字符串處理,我們要整理更多的技術(shù)知識,才能受到諸多學(xué)者的歡迎。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
免费女人毛片视频| 中文字幕2019第三页| 99久久精品免费观看国产| 开心丁香婷婷深爱五月| 在线播放黄色网址| 伊人影院蕉久影院在线播放| 天堂√中文在线| 九色在线网站| 国产亚av手机在线观看| 精品一区二区在线欧美| 日本成a人片在线观看| 国产在线激情视频| 国产精品欧美韩国日本久久| 一区免费观看| 美女被人操视频在线观看| 中文字幕第一页av| 伊人影院在线播放| 国产在线观看a视频| 综合图区亚洲白拍在线| 精品网站www| 精精国产xxxx视频在线| 久久五月精品中文字幕| 国产精品久久一区二区三区不卡| 尤物视频在线观看视频| 五月伊人六月| av中文在线资源| 国产黄色网页| 天堂在线看视频| 欧美性受xxxx免费视频| 尤物视频在线观看视频| 国产无套粉嫩白浆在线2022年| 亚洲视频在线观看不卡| 国产超碰在线| 国产精品伦一区二区三区视频| 国产在线拍揄自揄拍视频| 国产精品yjizz视频网一二区| 久久这里精品| 免费男女羞羞的视频网站中文字幕| 国产精品黄页网站在线播放免费 | 亚洲天堂视频在线观看免费| 久热免费视频| 青青草原av在线| 香蕉视频网站在线观看| 精品国产美女福利到在线不卡 | 亚洲夜夜综合| 精品51国产黑色丝袜高跟鞋| 国产黄色免费网站| 国产成人天天5g影院| 国产高清视频在线| 国产精品伦一区二区三区视频| 福利视频在线导航| 欧美性猛交p30| 久久久久久91精品色婷婷| 欧美一级久久久久久久久大| 四虎国产精品永久| 四虎国产精品永久地址998| 7777在线| eeuss影院www在线观看| 亚洲视频手机在线观看| av在线不卡免费| 久久亚洲资源| 国产丝袜精品丝袜| 99综合精品久久| 超碰在线网站| 国产激情在线视频| 蜜桃视频中文字幕| 国产精品9区| 日本视频二区| 国产三级做爰在线观看| 亚洲男人的天堂成人| 国产免费视频| 91av福利| 国产中文字幕第一页| 国产麻豆精品入口在线观看| 国产视频中文字幕| 免费观看v片在线观看| 国产爆初菊在线观看免费视频网站 | 超碰在线观看免费| 国产三级免费观看| 三级小说一区| 国产精品入口麻豆电影| 免费高清视频日韩| 国产精品剧情一区二区三区| 任你操视频在线观看| 国产视频1区| 欧美日韩在线视频免费观看| 国产精品久久一区二区三区不卡| 欧美人成在线观看网站高清| 国产二级c片l毛片| 大香伊人中文字幕精品| 免费在线黄色av| 日本一二区视频| 在线国产91| 国产馆av播放| 国产人成高清视频观看| 激情四房婷婷| 黄网址在线永久免费观看| 日本国产在线| 在线一区观看| 精品免费视频一卡2卡三卡4卡不卡| 九色精品视频在线观看| 日本高清中文字幕在线| 欧美日韩在线资源| www.xxx黄| 不卡av免费观看| a视频免费看| 免费黄网站在线观看| 免费观看一二区视频网站| 免费在线高清av| 国产在线一二三| 国产农村av| 国产亚洲精品一区二区在线观看| 国产一区二区三区四区尤物| 狠狠干天天爱| 国产一卡二卡3卡4卡四卡在线| 最近久乱中文字幕| 国产探花视频在线观看| 国产欧美日本亚洲精品一4区| 国产福利热线视频| 在线a人片免费观看视频| 欧美另类在线视频| 国产精品综合久久久久| 国产精品黄页网站在线播放免费 | 色欧美在线观看| 在线亚洲不卡| 天天艹天天操| 国产一二三四| 永久免费av片在线观看全网站| 日本啊v在线| 国产青青草在线| xxxxx中文字幕| 国产欧美久久久久久久久 | 91中文字幕网| 欧美另类在线视频| 国产对白在线| 成人午夜无人区一区二区| 91在线看片| 丁香婷婷激情| 亚洲wwwwww| 国产福利视频在线观看| 尤物视频在线观看| 日本啊v在线| 亚洲人成电影| 在线黄色av| 伊人春色在线| 精品国产99久久久久久| 国产一级在线观看| 懂色一区二区三区| 黄色电影网站在线观看| 欧美卡一卡二| 亚洲精品少妇久久久久久| 国产videos| 国产高清视频在线播放| 中文字幕在线免费视频| 久久久久久日本一区99| 欧美日韩久久中文字幕| 国产h在线观看| 国产盗摄一区二区| 国产精品伦一区二区三区视频| 国产在线一二三| 国产乱妇乱子| 天堂在线亚洲| 国产精品视频一区二区免费不卡| 成人精品一区二区三区免费| 九色在线网站| 国产麻豆视频| 中文字幕毛片| 国产精品免费视频二三区| 自拍av在线| 国产www在线观看| 在线播放一区二区精品产| 亚洲综合天堂网| 免费国产阿v视频在线观看| 超碰在线网址| 国产激情在线| 丝袜理论片在线观看| 黄色av网站在线| 国产精品视频一区二区免费不卡| 18激情网站| 看成年女人免费午夜视频| 天天操天天曰| 伊人影院在线播放| 丁香花高清视频完整版在线观看| 天堂在线免费观看| 91涩漫在线观看c| www久久日com| 中文字幕亚洲免费| 中文av在线播放| 国产在线观看a| 2018狠狠干| 精品孕妇一区二区三区| 91激情在线| 1区2区3区在线| 人人干人人插| 精品全国在线一区二区| 国产精品一区二区三区高清在线| 亚洲视频手机在线观看| 国产精品人人爱一区二区白浆| 超碰91在线| 在线a人片免费观看视频|