CHAPTER SIXTEEN287You aren’t limited merely to extracting and displayi การแปล - CHAPTER SIXTEEN287You aren’t limited merely to extracting and displayi ไทย วิธีการพูด

CHAPTER SIXTEEN287You aren’t limite

CHAPTER SIXTEEN
287
You aren’t limited merely to extracting and displaying characters verbatim; you can also modify text. This example, displays the text from a Ruby file but changes all Ruby line-comment characters (‘#’) preceding full-line comments to C-style line-comments (‘//’): regex4.rb File.foreach( 'regex1.rb' ){ |line| line = line.sub(/(^s*)#(.*)/, '1//2') puts( line ) } In this example, the sub method of the String class has been used; this takes a regular expression as its first argument (here /(^s*)#(.*)/) and a replacement string as the second argument (here '1//2') . The replacement string may contain numbered place-holders such as 1 and 2 to match any groups in the regular expression - here there are two groups between round brackets: (^s*) and (.*). The sub method returns a new string in which the matches made by the regular expression are substituted into the replacement string, while any un-matched elements (here the # character, are omitted).
MATCHDATA
The =~ ‘operator’ is not the only means of finding a match. The Regexp class also has a match method. This works in similar way to =~ but, when a match is made, it returns a MatchData object rather than an integer. A MatchData object contains the result of a pattern match. At first sight, this may appear to be a string< match.rb puts( /cde/ =~ 'abcdefg' ) #=> 2 puts( /cde/.match('abcdefg') ) #=> cde In fact, it is an instance of the MatchData class which contains a string: p( /cde/.match('abcdefg') ) #=> #
0/5000
จาก: -
เป็น: -
ผลลัพธ์ (ไทย) 1: [สำเนา]
คัดลอก!
บทที่หก287ไม่ได้จำกัดเพียงการแยก และแสดงอักขระทุกตัวอักษร นอกจากนี้คุณยังสามารถปรับเปลี่ยนข้อความ อย่างนี้ แสดงข้อความจากแฟ้มทับทิม แต่เปลี่ยนอักขระทั้งหมดบรรทัดข้อคิดเห็นทับทิม ('#') ก่อนหน้าเต็มบรรทัดข้อคิดเห็นลักษณะ C บรรทัดข้อคิดเห็น ('/ /'): regex4.rb File.foreach ('regex1.rb') {บรรทัด |line| = line.sub(/(^s*)#(.*) /, '1//2') ทำให้ (บรรทัด) } ในตัวอย่างนี้ วิธีย่อยของคลาสตริงที่ใช้ นี้ใช้เป็นอาร์กิวเมนต์แรกของนิพจน์ทั่วไป (ที่นี่ /(^s*)#(.*)/) และการแทนที่สตริงที่เป็นอาร์กิวเมนต์สอง (ที่นี่ ' 1//2') สายอักขระการแทนที่อาจประกอบด้วยผู้ถือที่หมายเลข 1 และ 2 ให้ตรงกับกลุ่มใด ๆ ในนิพจน์ทั่วไป - ที่นี่มี 2 กลุ่มระหว่างวงเล็บกลม: (^ s*) และ (*) วิธีย่อยส่งกลับสายอักขระใหม่ที่ตรงกันโดยนิพจน์ทั่วไปจะแทนลงในสายอักขระการแทน ในขณะที่องค์ประกอบใดไม่ตรงกัน (ที่นี่#อักขระ จะถูกละเว้นจาก)MATCHDATA=การ ~ 'ผู้ประกอบการ' เป็นการไม่ค้นหาตรงกัน คลาส Regexp ยังมีวิธีการจับคู่ ใช้งานในลักษณะคล้ายการ = ~ แต่ เมื่อทำการแข่งขัน จะส่งกลับวัตถุ MatchData แทนที่เป็นจำนวนเต็ม วัตถุ MatchData ประกอบด้วยผลของการแข่งขันรูปแบบ ที่ตา นี้อาจปรากฏว่า สาย < ใส่ match.rb (/cde/ = ~ "abcdefg") #= > 2 ทำให้ (/cde/.match('abcdefg')) #= > cde ในความเป็นจริง มันเป็นอินสแตนซ์ของคลาส MatchData ซึ่งประกอบด้วยสายอักขระ: p (/cde/.match('abcdefg')) #= > #
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 2:[สำเนา]
คัดลอก!
บทที่สิบหก
287
คุณยังไม่ได้ จำกัด อยู่เพียงเพื่อการสกัดและการแสดงตัวอักษรคำต่อคำ; คุณยังสามารถปรับเปลี่ยนข้อความ ตัวอย่างนี้แสดงข้อความจากไฟล์ทับทิม แต่การเปลี่ยนแปลงทั้งหมดทับทิมตัวอักษรเส้นแสดงความคิดเห็น ('#') ก่อนหน้านี้เต็มบรรทัดแสดงความคิดเห็นต่อความคิดเห็นสาย C-สไตล์ ('//'): regex4.rb File.foreach (' regex1.rb ') {| สาย | (. *) = เส้น line.sub (/ (^ s *) # /' 1 // 2 ') ทำให้ (สาย)} ในตัวอย่างนี้วิธีการย่อย ของชั้น String ถูกนำมาใช้; นี้จะแสดงออกปกติเป็นอาร์กิวเมนต์ครั้งแรก (ที่นี่ /(^s*)#(.*)/) และสตริงเปลี่ยนเป็นอาร์กิวเมนต์ที่สอง (ที่นี่ ' 1 // 2') สตริงอาจจะมีการเปลี่ยนหมายเลขของผู้ถือสถานที่เช่น 1 2 เพื่อให้ตรงกับกลุ่มใด ๆ ในการแสดงออกปกติ - ที่นี่มีสองกลุ่มระหว่างวงเล็บรอบ: (^ s *) และ (. *) วิธีการย่อยกลับสตริงใหม่ซึ่งในการแข่งขันที่ทำโดยการแสดงออกปกติถูกเปลี่ยนตัวลงในสตริงทดแทนในขณะที่องค์ประกอบใด ๆ ยกเลิกการจับคู่ (ที่นี่เป็นตัวละคร # จะละเว้น).
MATCHDATA
= ~ 'ผู้ประกอบการไม่ได้เป็นเพียง หมายถึงการหาคู่ที่ ชั้น Regexp นอกจากนี้ยังมีวิธีการจับคู่ นี้ทำงานในลักษณะที่คล้ายกับ = ~ แต่เมื่อการแข่งขันถูกทำก็จะส่งกลับวัตถุ MatchData มากกว่าจำนวนเต็ม วัตถุ MatchData มีผลของการแข่งขันรูปแบบ ที่เห็นครั้งแรกนี้อาจจะเป็นสตริง <match.rb ทำให้ (/ CDE / = ~ abcdefg ') # => 2 ทำให้ (/cde/.match('abcdefg')) # => CDE ในความเป็นจริง มันเป็นตัวอย่างของชั้น MatchData ซึ่งมีสตริง: p (/cde/.match('abcdefg ')) # => #
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 3:[สำเนา]
คัดลอก!
บทที่ 16
0
คุณยังไม่ได้ จำกัด เพียงแต่จะแยกและแสดงอักษรคำต่อคำ ; คุณยังสามารถแก้ไขข้อความ ตัวอย่างนี้จะแสดงข้อความจากแฟ้มทับทิม แต่การเปลี่ยนแปลงทั้งหมดทับทิมเส้นแสดงความคิดเห็นตัวอักษร ( ' ' # ) เต็มบรรทัดกับบรรทัดก่อนหน้าความคิดเห็นความคิดเห็น c-style ( ' / / ' ) : ไฟล์ regex4.rb . foreach ( ' regex1 . RB ' ) { | บรรทัด = | บรรทัดบรรทัด ย่อย ( /
s * ) # ( * ) / ,' 1 / / 2 } ' ) ใส่ ( สาย ) ในตัวอย่างนี้ วิธีการของสตริงย่อยชั้นเรียนมีการใช้ นี้ต้องใช้นิพจน์ปกติเป็นอาร์กิวเมนต์แรก ( ที่นี่ / (
s * ) # ( * ) ) และเปลี่ยนสายเป็นอาร์กิวเมนต์ที่สอง ( ที่นี่ ' 1 / / 2 ' )การแทนที่สตริงอาจประกอบด้วยหมายเลขที่ถือเช่น 1 และ 2 เพื่อให้ตรงกับกลุ่มใด ๆ ในการแสดงออกปกติ - ที่นี่มี 2 กลุ่มระหว่างวงเล็บกลม (
s * ) ( * ) ส่วนวิธีการส่งกลับเป็นข้อความใหม่ที่ตรงกันโดยการแสดงออกปกติจะใช้ในการแทนที่สตริง ในขณะที่ใด ๆและตรงกับองค์ประกอบ ( ที่นี่#ตัวละคร จะละเว้น ) .
matchdata
= ~ ' ผู้ควบคุม ' ไม่ได้เป็นเพียงวิธีการค้นหาการแข่งขัน แต่งชั้นยังมีราคาวิธีการ นี้ทำงานในลักษณะที่คล้ายกับ = ~ แต่เมื่อราคาขึ้น ก็จะเป็น matchdata วัตถุแทนที่จะเป็นจำนวนเต็ม เป็น matchdata วัตถุประกอบด้วยผลของรูปแบบการแข่งขัน ที่แรกเห็นนี้อาจปรากฏขึ้นเป็นข้อความ < match.rb ใส่ ( CDE / abcdefg = ~ ' ' ) # = > 2 ใส่ ( CDE /ราคา ( 'abcdefg ' ) ) # = > CDE ในความเป็นจริงมันเป็นอินสแตนซ์ของ matchdata ชั้นซึ่งประกอบด้วยสตริง : P ( / CDE / ราคา ( 'abcdefg ' ) ) # = > # < matchdata 0x28cedc8 > :
การแปล กรุณารอสักครู่..
 
ภาษาอื่น ๆ
การสนับสนุนเครื่องมือแปลภาษา: กรีก, กันนาดา, กาลิเชียน, คลิงออน, คอร์สิกา, คาซัค, คาตาลัน, คินยารวันดา, คีร์กิซ, คุชราต, จอร์เจีย, จีน, จีนดั้งเดิม, ชวา, ชิเชวา, ซามัว, ซีบัวโน, ซุนดา, ซูลู, ญี่ปุ่น, ดัตช์, ตรวจหาภาษา, ตุรกี, ทมิฬ, ทาจิก, ทาทาร์, นอร์เวย์, บอสเนีย, บัลแกเรีย, บาสก์, ปัญจาป, ฝรั่งเศส, พาชตู, ฟริเชียน, ฟินแลนด์, ฟิลิปปินส์, ภาษาอินโดนีเซี, มองโกเลีย, มัลทีส, มาซีโดเนีย, มาราฐี, มาลากาซี, มาลายาลัม, มาเลย์, ม้ง, ยิดดิช, ยูเครน, รัสเซีย, ละติน, ลักเซมเบิร์ก, ลัตเวีย, ลาว, ลิทัวเนีย, สวาฮิลี, สวีเดน, สิงหล, สินธี, สเปน, สโลวัก, สโลวีเนีย, อังกฤษ, อัมฮาริก, อาร์เซอร์ไบจัน, อาร์เมเนีย, อาหรับ, อิกโบ, อิตาลี, อุยกูร์, อุสเบกิสถาน, อูรดู, ฮังการี, ฮัวซา, ฮาวาย, ฮินดี, ฮีบรู, เกลิกสกอต, เกาหลี, เขมร, เคิร์ด, เช็ก, เซอร์เบียน, เซโซโท, เดนมาร์ก, เตลูกู, เติร์กเมน, เนปาล, เบงกอล, เบลารุส, เปอร์เซีย, เมารี, เมียนมา (พม่า), เยอรมัน, เวลส์, เวียดนาม, เอสเปอแรนโต, เอสโทเนีย, เฮติครีโอล, แอฟริกา, แอลเบเนีย, โคซา, โครเอเชีย, โชนา, โซมาลี, โปรตุเกส, โปแลนด์, โยรูบา, โรมาเนีย, โอเดีย (โอริยา), ไทย, ไอซ์แลนด์, ไอร์แลนด์, การแปลภาษา.

Copyright ©2024 I Love Translation. All reserved.

E-mail: