閮借兘琛ㄧず瀛楃涓插璞★紝鍖哄埆鍦ㄤ簬鍙屽紩鍙峰瓧絎︿覆鑳藉鏀寔鏇村鐨勮漿涔夊瓧絎︺備笅闈㈢殑浠g爜鍦ㄥ瓧絎︿覆涓鍔犱簡'絎﹀彿銆?br />
str=‘he'lo’
puts str
鏄劇ず緇撴灉涓篽e'lo銆?br />
鍗曞紩鍙蜂粎鏀寔\\ => \ 鍜?\' => '
涓嬭〃鏄痳uby涓弻寮曞彿瀛楃涓叉敮鎸佺殑杞箟瀛楃錛?/p>
鎵鏈変笉鏄瓧姣嶆垨鑰呮暟瀛楃殑鍗曞瓧鑺傚瓧絎﹂兘鍙互鎴愪負String鐨勫垎鐣岀銆傛敞鎰忥紝閫氬父浠栦滑閮芥槸鎴愬鍑虹幇鐨勶紝姣斿<鍜?gt;,!鍜?,{鍜寎絳夈?/p>
鏂規(guī)硶涓錛?br />
鏈綆鍗曠殑浣跨敤鍗曞紩鍙鋒垨鑰呭弻寮曞彿鎷搗鏉ョ殑瀛楃涓詫紝姣斿"hello"銆?br />
鏂規(guī)硶浜岋細
浣跨敤%q閰嶅悎鍒嗙晫絎︼紝%q浠h〃鍗曞紩鍙?br />
str=%q!he\lo!
鏂規(guī)硶涓夛細
浣跨敤%Q閰嶅悎鍒嗙晫絎︼紝%Q浠h〃鍙屽紩鍙?br />
str=%Q{he\lo}
鏂規(guī)硶鍥涳細
here document鏋勫緩瀛楃涓詫紝璇ユ柟娉曟瘮杈冮傚悎鐢ㄤ簬澶氳瀛楃涓茬殑鍒涘緩銆傜敱<<鍜岃竟鐣屽瓧絎︿覆浣滀負寮澶達紝鐢辮竟鐣屽瓧絎︿覆浣滀負緇撳熬錛屾瘮濡備笅鍒椾唬鐮侊細
str = <<END_OF_STRING1
We are here now,
where are you?
END_OF_STRING1
puts str
杈撳嚭緇撴灉涓猴細
We are here now,
where are you?
杈冧負澶嶆潅鐨勬槸鍏佽澶氫釜杈圭晫瀛楃涓插鍑虹幇銆?br />
str = <<END_OF_STRING1,<<END_OF_STRING2
We are here now,
where are you?
END_OF_STRING1
I will leave now,
would you like to go with me?
END_OF_STRING2
puts str
杈撳嚭緇撴灉涓猴細
We are here now,
where are you?
I will leave now,
would you like to go with me?
鍦↗ava涓紝濡傛灉涓や釜String瀵硅薄a鍜宐鐨勫奸兘鏄?abcdef",濡備笅錛?br />
String a="abcdef";
String b="abcdef";
閭?
涔堬紝JVM鍙細鍒涘緩涓涓父閲忓璞?abcdef",璁゛鍜宐閮芥寚鍚戝畠銆備絾鏄湪ruby涓紝閲囩敤浜嗘櫤鑳芥寚閽堬紙鐔熸?zhèn)塩++鐨勬湅鍙嬫竻妤氾級鐨勪竴涓珮綰ф妧鏈?
copy-on-write錛屼竴寮濮嬩篃鏄叡浜悓涓涓瓧絎﹀父閲忥紝浣嗘槸涓鏃︿箣鍚庢煇涓璞★紙姣斿b瀵硅薄)榪涜浜嗕慨鏀規(guī)搷浣滐紝鍒?abcdef"灝嗕駭鐢熶竴涓壇鏈紝b
鐨勪慨鏀規(guī)搷浣滃湪榪欎釜鍓湰涓婅繘琛屻?br />
鏇磋緇嗙殑璁ㄨ璇峰弬鑰僪ttp://developer.51cto.com/art/200811/98630.htm銆?/p>
Java鐨凷tring姣忔鎵ц淇敼鎿嶄綔錛岄兘涓嶄細鏀瑰彉鑷韓錛岃屾槸鍒涘緩涓涓柊鐨凷tring瀵硅薄錛岃孯uby姣忔鐨勪慨鏀規(guī)搷浣滈兘浼氫慨鏀硅嚜韜?/p>
puts "hello".length
璇ュ彞杈撳嚭5錛屾槸瀛楃涓暟錛屼笉瑕佸拰C鍑芥暟鎼炴販錛孋鍑芥暟緇忓父鐢?緇撴潫瀛楃涓詫紝鍥犳闀垮害緇忓父涓哄疄闄呭瓧絎︿釜鏁?1錛孯uby涓病鏈夎繖涓範鎯?/p>
index鏂規(guī)硶鏈変笁縐嶉噸杞斤紝鍒嗗埆鏄細
str.index(substring [, offset]) => fixnum or nil
str.index(fixnum [, offset]) => fixnum or nil
str.index(regexp [, offset]) => fixnum or nil
絎簩涓弬鏁皁ffset鏄彲閫夊弬鏁幫紝涓嶇敤鐨勮瘽鍒欎粠绱㈠紩0鐨勫瓧絎﹀紑濮嬫煡鎵俱?br />
puts "hello".index("el") 杈撳嚭涓? 錛屾敞鎰忚繖閲岀殑'el'涔熷彲浠ャ備篃鍙互鍙煡涓涓瓧絎︽瘮錛屽puts "hello".index(101) 杈撳嚭涓?錛岃繖鏃跺欑涓涓弬鏁頒負'e'鐨勪簩榪涘埗鐮併?br />
涔熷彲浠ヤ嬌鐢ㄦ鍒欒〃杈懼紡榪涜鏌ユ壘錛屾瘮濡俻uts "hello".index(/[az]/) 杈撳嚭涓簄il錛屽洜涓?hello"涓嶅寘鍚玜鎴栬厇銆俒]鏄鍒欒〃杈懼紡鐨勮繍綆楃錛屼唬琛ㄩ噷闈㈢殑a鍜寊鏈変竴涓壘鍒板嵆鍙?br />
puts "hello".index(/lo/) 榪欎釜娌℃湁[]絎﹀彿錛屽洜姝ゆ槸鏌ユ壘瀛愬瓧絎︿覆lo錛岀粨鏋滀負3.
鎴戜釜浜鴻寰楀敖閲忕啛緇冧嬌鐢ㄦ鍒欒〃杈懼紡鏌ユ壘鏄渶濂界殑閫夋嫨錛屾棦鍙互瀹屾垚綆鍗曟煡鎵撅紝涔熷彲浠ュ畬鎴愰毦搴︽煡鎵俱備笉榪囬渶瑕佷粯鍑轟笉灝戝姫鍔涘幓瀛︿範銆?br />
涓嬮潰榪欎釜渚嬪瓙puts "hello".index('o', -1) 璇佹槑浜嗙浜屼釜鍙傛暟鍙互涓鴻礋鏁幫紝铏界劧榪欐病鏈変粈涔堟剰涔夛紝鍥犱負鍔熻兘鍜屼負0絳変環(huán)銆?br />
濡傛灉鏌ユ壘涓嶅埌錛岃繑鍥瀗il銆?/p>
str.rindex(substring [, fixnum]) => fixnum or nil
str.rindex(fixnum [, fixnum]) => fixnum or nil
str.rindex(regexp [, fixnum]) => fixnum or nil
絎竴涓弬鏁板拰index鐩稿悓錛岀浜屼釜鍙傛暟鏄彲閫夛紝濡傛灉涓嶇敤鍒欓粯璁や負瀛楃涓插熬閮ㄣ傚鏋滀負0鍛紵鍒欎粠絎竴涓瓧絎﹀紑濮嬪悜鍙蟲煡鎵俱傚鏋滀負璐熸暟鍛紵榪欐椂鍊欏緢濂囨紝灞?
鐒惰兘鏌ュ埌銆傞氳繃鐪婥鐨勫疄鐜頒唬鐮侊紝鍙戠幇褰揻ixnum<0鏃訛紝浼氭墽琛岃繖涓繍綆楋細fixnum+=substring.length錛岀劧鍚庡氨鑳芥壘鍒般傞?
杈戜笂鍙互鐞嗚В涓哄綋fixnum<0鏃訛紝灝嗕粠鏈鍙寵竟寮濮嬪悜宸︾Щ鍔╝bs(fixnum)-1涓綅緗紝騫朵綔涓烘渶鍚庢煡鎵捐寖鍥達紝鐒跺悗寮濮嬩粠宸﹁嚦鍙寵繘琛屾煡鎵俱?
瀛楃涓叉渶鍙寵竟鐨勫瓧絎︾殑浣嶇疆琚?1浠h〃銆?br />
涓嬮潰涓よ浠g爜緇撴灉閮芥槸nil:
puts "hlloe".rindex('e', -2)
puts "hlloe".rindex('e', 3)
涓嬮潰涓よ浠g爜緇撴灉閮芥槸1錛?br />
puts "hello".rindex('e', -2)
puts "hello".rindex('e', 3)
娉ㄦ剰錛屼互涓婄殑浠g爜鐞嗚В鏄垜涓漢瑙傚療浠g爜鍚庣殑鐚滄祴錛屽洜涓烘垜榪樹笉浼氳皟璇曡繍琛宺uby鐨凜浠g爜錛屾墍浠ヤ笉涓瀹氭紜備唬鐮佹憳褰曞涓嬶細錛堜唬鐮佹槸ruby緗戠珯鍏竷鐨凜浠?
鐮侊紝浣嗘槸鎴戞墍鐢ㄧ殑騫沖彴鍏跺疄NetBeans6.7.1錛屽洜姝ょ湡姝d唬鐮佸簲璇ユ槸Java瀹炵幇鐨凧Ruby1.2.0錛岃繖閲岀殑C浠g爜浠呬緵鍙傝冿級
static VALUE
rb_str_rindex_m(argc, argv, str)
int argc;
VALUE *argv;
VALUE str;
{
VALUE sub;
VALUE position;
long pos;
if (rb_scan_args(argc, argv, "11", ⊂, &position) == 2) {
pos = NUM2LONG(position);
if (pos < 0) {
pos += RSTRING(str)->len;
if (pos < 0) {
if (TYPE(sub) == T_REGEXP) {
rb_backref_set(Qnil);
}
return Qnil;
}
}
if (pos > RSTRING(str)->len) pos = RSTRING(str)->len;
}
else {
pos = RSTRING(str)->len;
}
switch (TYPE(sub)) {
case T_REGEXP:
if (RREGEXP(sub)->len) {
pos = rb_reg_adjust_startpos(sub, str, pos, 1);
pos = rb_reg_search(sub, str, pos, 1);
}
if (pos >= 0) return LONG2NUM(pos);
break;
case T_STRING:
pos = rb_str_rindex(str, sub, pos);
if (pos >= 0) return LONG2NUM(pos);
break;
case T_FIXNUM:
{
int c = FIX2INT(sub);
unsigned char *p = (unsigned char*)RSTRING(str)->ptr + pos;
unsigned char *pbeg = (unsigned char*)RSTRING(str)->ptr;
if (pos == RSTRING(str)->len) {
if (pos == 0) return Qnil;
--p;
}
while (pbeg <= p) {
if (*p == c) return LONG2NUM((char*)p - RSTRING(str)->ptr);
p--;
}
return Qnil;
}
閫氬父鎴戜滑鐞嗚В涓轟粠鍙寵竟寮濮嬫煡鎵撅紝浣嗘槸娉ㄩ噴鍗磋〃鏄庢槸浠庡乏鍚戝彸鏌ユ壘錛屽茍榪斿洖鏈鍚庝竴涓壘鍒扮殑鐩爣鐨勪綅緗傜┒绔熷唴騫曞浣曪紝鍙兘鐪嬩唬鐮併?br />
01161 static
long
01162
rb_str_rindex
(str, sub, pos)
01163 VALUE
str, sub;
01164 long
pos;
01165 {
01166 long
len = RSTRING
(sub)->len;
01167 char
*s, *sbeg, *t;
01168
01169 /* substring longer than string */
01170 if
(RSTRING
(str)->len < len) return
-1;
01171 if
(RSTRING
(str)->len - pos < len) {
01172 pos = RSTRING
(str)->len - len;
01173 }
01174 sbeg = RSTRING
(str)->ptr;
01175 s = RSTRING
(str)->ptr + pos;
01176 t = RSTRING
(sub)->ptr;
01177 if
(len) {
01178 while
(sbeg <= s) {
01179
if
(
rb_memcmp
(s, t, len) == 0) {
01180
return
s -
RSTRING
(str)->ptr;
01181 }
01182 s--;
01183 }
01184 return
-1;
01185 }
01186 else
{
01187 return
pos;
01188 }
01189 }
閫氳繃鐪嬩唬鐮侊紝鍙戠幇s--;鍥犳錛屾槸浠庡彸鍚戝乏榪涜鍖歸厤錛屾壘鍒扮殑絎竴涓氨榪斿洖銆傚啓娉ㄩ噴鐨勪漢搴旇鏋瘷!铏界劧鐪嬩笂鍘繪剰鎬濅竴鏍鳳紝浣嗘槸綆楁硶鐨勬椂闂村鏉傚害澶т笉涓鏍楓備粠宸﹀埌鍙崇殑鏌ユ壘鎬繪槸O(n),鑰屼粠鍙沖埌宸︾殑鏈鍧忎簨浠跺鏉傚害鎵嶆槸O(n)銆?br />
puts "hello".upcase.index("H")錛屽埄鐢╠owncase鎴栬卽pcase鍏ㄩ儴杞崲鎴愬皬鍐欐垨鑰呭ぇ鍐欙紝鐒跺悗鍐嶆煡鎵俱?/p>
operator =~ 灝嗚繑鍥炲尮閰嶇殑妯″紡寮濮嬩綅緗紝濡傛灉娌℃湁鎵懼埌鍒欒繑鍥瀗il銆?br />
puts "abcde789" =~ /d/
杈撳嚭5.
str="hello"
puts str[0,2]
絎竴涓弬鏁版槸瀛愬瓧絎︿覆棣栧瓧姣嶇殑Index錛岀浜屼釜鏄暱搴︼紙涓嶈兘涓鴻礋鏁幫級銆?br />
緇撴灉涓篽e銆?br />
絎竴涓弬鏁板彲浠ヤ負璐熸暟錛屼細鎶婃渶鍙寵竟鐨勫瓧絎︿綔涓?1錛岀劧鍚庡悜宸﹀鍔?1鐨勬柟寮忔煡鎵捐搗濮嬩綅緗紝姣斿錛?br />
str="hello"
puts str[-2,2]
杈撳嚭涓簂o錛岃繖縐嶆儏鍐墊垜浠湪rindex鏂規(guī)硶涓凡緇忕湅鍒拌繃浜嗐?br />
涔熷彲浠ヤ嬌鐢ㄦ鍒欒〃杈懼紡榪涜鎻愬彇錛岃繖鐪熺殑寰堝己澶с?br />
str="hello"
puts str[/h..l/]
杈撳嚭涓篽ell銆?br />
絎﹀彿.浠h〃涓涓瓧絎︼紝涓や釜.浠h〃涓や釜瀛楃銆備袱涓?閲岄潰鐨勫唴瀹瑰氨鏄鍒欒〃杈懼紡銆?*浠h〃鍙互鏈夋棤鏁頒釜瀛楃錛屾瘮濡?br />
str="hello"
puts str[/h.*o/]
杈撳嚭涓篽ello銆?/p>
String#count鐢ㄦ潵璁$畻鎴戜滑鍙傛暟涓粰鍑虹殑瀛楃闆嗕腑瀛楃鍑虹幇鐨勬繪鏁幫紝姣斿鏈綆鍗曠殑鎯呭喌錛?br />
str = "hello,world"
puts str.count "w"
“w" 鍙傛暟浠h〃鐨勬槸涓涓瓧絎︾粨鍚堬紝閲岄潰鍙湁涓涓瓧絎錛宑ount鏂規(guī)硶璁$畻鍑簑鍑虹幇鍦?hello,world"鐨勬鏁版槸1錛屽洜姝よ緭鍑轟負1銆?br />
涓嬮潰鎴戜滑鐨勫弬鏁伴噷闈㈠寘鍚簡涓変釜瀛楃錛?br />
str = "hello,world"
puts str.count "wld"
杈撳嚭涓?錛寃鍑虹幇1嬈★紝l鍑虹幇3嬈★紝d鍑虹幇1嬈★紝姝eソ5嬈°?br />
涔熷彲浠ヤ紶閫掑涓弬鏁幫紝姣忎釜鍙傛暟浠h〃涓涓瓧絎﹂泦鍚堬紝榪欐椂鍊欒繖浜涘瓧絎﹂泦鍚堢殑浜ら泦浣滀負count璁$畻鐨勬潯浠訛細
str = "hello,world"
puts str.count "lo","o"
杈撳嚭涓?銆?br />
str = "hello,world"
puts str.count "lo","o"," "
杈撳嚭涓?錛屽洜涓轟笁涓泦鍚堢殑浜ら泦涓虹┖錛屾墍浠ヨ綆楃粨鏋滀負0.
娉ㄦ剰錛屽鏋滃弬鏁癪o,浠h〃o鍑虹幇鐨勬鏁頒笉璁$畻銆?/p>
String#chomp鏂規(guī)硶鏈変竴涓瓧絎︿覆鍙傛暟錛屾寚瀹氫簡瑕佸湪鏈熬鍒犻櫎鐨勫瓙瀛楃涓層傚鏋滀笉鐢ㄨ繖涓弬鏁幫紝鍒欎細灝嗗瓧絎︿覆鏈熬鐨刵,r鍜宺n鍒犻櫎錛堝鏋滄湁鐨勮瘽錛夈?/p>
String#squeeze鏂規(guī)硶濡傛灉涓嶇敤鍙傛暟錛屽垯浼氬皢瀛楃涓蹭腑鐨勪換浣曡繛緇噸澶嶅瓧絎﹀彉鎴愬崟涓瀛楃錛屽涓嬶細
str = "helllloo"
puts str.squeeze
杈撳嚭錛歨elo銆?br />
濡傛灉浼犻掑瓧絎︿覆鍙傛暟錛屽惈涔夊悓count鏂規(guī)硶鐨勫弬鏁頒竴鏍鳳紝浠h〃浜嗕竴涓瓧絎﹂泦鍚堬紝鍒欏皢絎﹀悎鏉′歡錛?錛屽湪瀛楃闆嗗悎涓嚭鐜幫紱2錛屽湪瀛楃涓蹭腑榪炵畫鍑虹幇錛夌殑瀛愬瓧絎︿覆鍘嬬緝鎴愮殑鍗曚竴瀛楃
瀹炰緥浠g爜濡備笅錛?br />
str = "helllloo"
puts str.squeeze('l')
puts str.squeeze('a-l')
puts str.squeeze('lo')
杈撳嚭涓猴細
heloo
heloo
helo
鍙傛暟涔熷彲浠ョ敤a-z鏂瑰紡琛ㄧず鍦ㄦ煇涓瓧絎﹂泦鍚堝尯闂村唴銆?br />
涓涓緢甯哥敤鐨勫姛鑳芥槸鍒╃敤squeeze(" ")瀵瑰瓧絎︿覆鍐呴噸澶嶇殑絀虹櫧瀛楃榪涜鍘嬬緝銆?/p>
鍙互鎺ユ敹澶氫釜鍙傛暟錛屾瘡涓弬鏁頒唬琛ㄤ竴涓瓧絎﹂泦鍚堬紝綾諱技count鏂規(guī)硶銆傚鏋滄湁澶氫釜鍙傛暟錛屽彇浜ら泦錛岀劧鍚庝粠瀛楃涓蹭腑鍒犻櫎鎵鏈夊嚭鐜板湪浜ら泦涓殑瀛楃銆?br />
"hello".delete "l","lo" #=> "heo"
"hello".delete "lo" #=> "he"
"hello".delete "aeiou", "^e" #=> "hell"
"hello".delete "ej-m" #=> "ho"
鍙傝鍚庨潰鐨剆ub鐢ㄦ硶錛屼嬌鐢?'榪涜鏇挎崲鍗沖彲銆?br />
String#split鎺ユ敹涓や釜鍙傛暟錛岀涓涓弬鏁版繪槸琚綔涓洪棿闅旂鏉ユ媶鍒嗗瓧絎︿覆錛屽茍涓斾笉浼氬嚭鐜板湪緇撴灉涓?br />
絎竴涓弬鏁板鏋滄槸姝e垯琛ㄨ揪寮忕殑璇濓紝濡傛灉涓虹┖錛屽垯姣忎釜瀛楃閮借鎷嗗紑錛岃繑鍥炰竴涓瓧絎︽暟緇勩備緥瀛愪唬鐮佸涓嬶細
str = "hello"
puts str.split(//)
杈撳嚭涓猴細
h
e
l
l
o
濡傛灉姝e垯琛ㄨ揪寮忎笉涓虹┖錛屽垯鏍規(guī)嵁鍖歸厤鐨勬儏鍐佃繘琛屾媶鍒嗐備緥瀛愪唬鐮佸涓嬶細
str = "hello"
puts str.split(/h/)
緇撴灉涓猴細
ello
鎷嗗垎鎴愪簡涓や釜鏁扮粍錛岀涓涓負""錛岀浜屼釜涓篹llo錛岀敤h榪涜鎷嗗垎鐨勩?br />
絎竴涓弬鏁扮殑鍙︿竴縐嶇敤娉曞緢綆鍗曪紝鍙槸涓涓瓧絎︿覆錛岀敤浜庝綔涓洪棿闅旂榪涜鎷嗗垎錛屽氨涓嶄婦渚嬪瓙浜嗐傛垜鏇村懼悜浜庝嬌鐢ㄥ己澶х殑姝e垯琛ㄨ揪寮忋?br />
絎簩涓弬鏁版槸涓涓暣鏁幫紝鐢ㄤ簬瀵規(guī)媶鍒嗙殑緇撴灉鏁扮粍鐨勫厓绱犱釜鏁拌繘琛岄檺鍒訛紝榪欎釜鍔熻兘鏈夊澶х敤澶勶紝鎴戠幇鍦ㄥ埌娌℃湁浣撲細錛屼竴鑸儏鍐典笅涓嶇敤鍗沖彲銆?/p>
濡傚墠闈㈠嚭鐜扮殑錛屽埄鐢╠owncase鎴栬卽pcase鏂規(guī)硶鍗沖彲銆?/p>
浣跨敤[]錛岄噷闈㈠~涓奍ndex錛屽氨鍙互鑾峰彇絎琁ndex涓厓绱犮?/p>
鑾峰彇鍗曞瓧鑺傚瓧絎︾殑浜岃繘鍒剁爜
puts ?e
錛熻繍綆楃鐢ㄤ簬涓枃鏄潪娉曠殑銆?/p>
Ruby榪唬鍣ㄧ殑璁捐涓嶅湪榪欓噷璁ㄨ錛屾垜浼氫笓闂ㄦ湁涓綃囨枃绔犳弿榪般?/p>
榪唬姣忎釜瀛楃錛屼笅闈㈡槸紺轟緥浠g爜錛?br />
require 'jcode' #NetBeans6.7.1鍜孞Ruby1.2.0闇瑕侊紝鍚﹀垯涓嬮潰浠g爜鎵句笉鍒版柟娉?br />
"hello".each_char(){ |c| print c,' ' } #()鍙互涓嶅啓
|c| 浠h〃瀛楃涓蹭腑鐨勫綋鍓嶅瓧絎︺?/p>
榪唬姣忎釜瀛愬瓧絎︿覆錛屽鏋滀笉浼犻抯eperator鍙傛暟錛屽垯榛樿鐢╪浣滀負seperator銆?br />
"hellonworld".each { |c| puts c }
杈撳嚭涓猴細
hello
world
濡傛灉浼犻掍簡鏈夋晥鐨勫瓧絎︿覆浣滀負seperator鍙傛暟錛岄偅涔堝氨浠ヨ繖涓猻eperator浠f浛n榪涜瀛愬瓧絎︿覆鐨勮凱浠o細
"hellonworld".each('l') { |s| p s }
杈撳嚭涓猴細
"hel"
"l"
"onworl"
"d"
鐢ㄦ硶鍜宔ach_char綾諱技錛屼笉榪囪凱浠g殑瀵硅薄鏄痗har錛屽洜姝よ緭鍑虹殑鏄簩榪涘埗鏁板箋?br />
"hellonworld".each_byte { |s| print s," " }
杈撳嚭錛?br />
104 101 108 108 111 10 119 111 114 108 100
鐢ㄦ硶鍜屽墠闈㈢浉鍚岋紝鍙槸鐢ㄦ崲琛岀鍒嗗壊瀛愬瓧絎︿覆榪涜榪唬錛?br />
"hellonworld".each_line do |s|
print s
end
娉ㄦ剰錛岃繖鏄彟涓縐嶅啓娉曪紝鐢╠o/end鏇挎崲浜唟/}瀵廣?br />
杈撳嚭涓猴細
hello
world
鍙墍浠ヨ緭鍑轟負涓よ錛屾槸鍥犱負絎竴涓瓙瀛楃涓叉槸"hellon"杈撳嚭鍚庤嚜鍔ㄦ崲琛屻?/p>
str1="hello,"
str2="world"
str3=str1+str2
puts str3
杈撳嚭涓篽ello,world
str1="hello,"
str2="world"
str1<
puts str1
杈撳嚭涓篽ello,world
concat鏂規(guī)硶鍙互鍦ㄥ瓧絎︿覆鍚庨潰鍔犱笂涓涓簩榪涘埗鍊間負[0,255]鐨勫瓧絎︼紝鐢ㄦ硶濡備笅錛?br />
str1="hello,world"
str1.concat(33)#33鏄?鐨勪簩榪涘埗鍊?br />
puts str1
杈撳嚭涓篽ello,world!
concat涔熷彲浠ユ帴涓涓猳bject錛屾瘮濡傚彟涓涓猄tring瀵硅薄
String#empty? 鏂規(guī)硶 濡傛灉涓虹┖榪斿洖true錛屽惁鍒欒繑鍥瀎alse
str1<=>str2
濡傛灉str1灝忎簬str2錛岃繑鍥?1錛?br />
濡傛灉str1絳変簬str2錛岃繑鍥?錛?br />
濡傛灉str1澶т簬str2錛岃繑鍥?銆?br />
瀹樻柟娉ㄩ噴鍐欏弽浜嗐?/p>
涓や釜姣旇緝瀵硅薄蹇呴』閮戒負String錛屽惁鍒欒繑鍥瀎alse;
濡傛灉閮芥槸String瀵硅薄錛屽垯璋冪敤operator <=> 鎿嶄綔絎﹁繘琛屾瘮杈冿紝姣旇緝緇撴灉涓?鏃訛紝榪斿洖true錛屽惁鍒欒繑鍥瀎alse
鍜宱perator = 鍔熻兘鐩稿悓錛屽瓧絎︿覆鍐呭鐨勫畬鍏ㄦ浛鎹紝娌′粈涔堜綔鐢ㄣ?br />
str.sub(pattern, replacement) => new_str
str.sub(pattern) {|match| block } => new_str
鍦╯tr鍓湰涓婂皢鎵懼埌鐨勭涓涓尮閰嶅瓧絎︼紙涓詫級鐢╮eplacement鏇挎崲錛屽茍榪斿洖銆傛瘮濡傦細
puts "abcde789".sub(/d/, "000")
杈撳嚭涓猴細abcde00089
絎簩縐嶉噸杞藉艦寮忓厑璁告墽琛屼竴孌典唬鐮侊紝姣斿錛?br />
puts "abcde789".sub(/d/){|c| 'a'}
鎵懼埌鐨勫瓧絎︾敤|c|琛ㄧず錛屽彲浠ユ浛鎹㈡垚a瀛楃
杈撳嚭涓猴細abcdea89