tit:text
type:$type_both
syntax:!text `operation' `parameter'
mean:ÕâÊǼ«ÆäÓÐÁ¦µÄÎı¾²Ù×÷¹¤¾ß,\
¿ÉÒÔ¿ìËٵضԺܳ¤µÄÎÄ×Ö´®×÷¸´ÔӵĴ¦Àí. <br>\
Ðí¶à²Ù×÷ `operation' ÄÜʹÓÃÑÚÂë(mask). ÑÚÂëÊÇÒ»¸ö '0' '1' ÐòÁÐ.\
¶ÔÓÚ½ÓÊÜÑÚÂëµÄ²Ù×÷, Ö»¶ÔÑÚÂëΪ '1' µÄλÖõÄ×Ö·û×÷´¦Àí\
(ÕâÏ൱ÓÚ`ÑÚ¸Ç'ÁË '0' ¶ÔÓ¦µÄ×Ö·û).\
¿ÕµÄÑÚÂëÏ൱ÓÚÈ«²¿ÓÉ '1' ¹¹³É. <br>\
Ì«¶ÌµÄÑÚÂ뽫±»Öظ´Ê¹ÓÃ, ³ý·ÇËüµÄ½áβΪ '+', ÕâʱʣϵÄȫȡΪ '1',\
»òÒÔ '-' ½áβ, ÕâʱʣϵÄȫȡΪ '0'. <br>\
Ä¿Ç°ÒÑʵÏֵIJÙ×÷ `operation' ÓÐÒÔϼ¸ÖÖ.\
<ul>\
<li><tt>!text common `text1' and `text2'\
[mask `maskstring']\
<br>\
°Ñ `text1' ÖÐÓë `text2' µÄ¶ÔÓ¦×Ö·ûÏàͬ,\
ÓÖ²»±» `maskstring' ÑڸǵÄ×Ö·ûÒ»¸öÒ»¸öµØÌáÈ¡³öÀ´.\
<li><tt>!text compare `text1' and `text2'\
\
<br>\
¶Ô `text1' Óë `text2' µÄ×Ö·ûÖð¸ö±È½Ï,\
·µ»ØÒ»¸öÑÚÂë´®, ÆäÖÐÁ½¸ö´®µÄ¶ÔÓ¦×Ö·ûÏàͬµÄλÖÃÈ¡ '0', ÆäËüλÖÃÈ¡ '1'.\
<li><tt>!text copy `text'\
[mask `maskstring']</tt> <br>\
·µ»Ø `text' ÄÚ²»±»ÑڸǵÄ×Ö·û.\
<li
><tt
>!text
count `charlist
' in `text'\
[mask `maskstring']</tt> <br>\
·µ»Ø `text' ÄڼȲ»±» `maskstring' ÑÚ¸Ç,\
ÓÖ°üº¬ÔÚ `charlist' ÀïµÄ×Ö·ûµÄ¸öÊý.\
<li><tt>!text diff `text1' from `text2'\
[mask `maskstring']</tt> <br>\
°Ñ `text1' ÖÐÓë `text2' µÄ¶ÔÓ¦×Ö·û²»Í¬,\
ÓÖ²»±» `maskstring' ÑڸǵÄ×Ö·ûÒ»¸öÒ»¸öµØÌáÈ¡³öÀ´. <br>\
(diff µÄͬÒå´Ê: differ).\
<li><tt>!text expand `text' using `maskstring'\
</tt> <br>\
Éú³ÉÕâÑùµÄ×Ö·û´®: Óë `maskstring' ÖÐµÄ '0' ¶ÔÓ¦µÄλÖñäΪ ' '(¿Õ¸ñ),\
Óë `maskstring' ÖÐµÄ '1' ¶ÔÓ¦µÄλÖÃȡΪ `text'\
ÖеÄ×Ö·û, `text' ÖеÄ×Ö·û±»Ò»¸öÒ»¸öµØʹÓÃ.\
Ö±ÖÁ `text' µÄ×Ö·û±»Óþ¡, »òÉú³ÉµÄ×Ö·û´®´ïµ½³¤¶ÈÏÞÖƲÅÖÕÖ¹.\
<li><tt>!text insert `text1' into `text2'\
[mask `maskstring']</tt> <br>\
°Ñ `text2' ÖÐδ±»ÑڸǵÄλÖÃÓà `text1' µÄ×Ö·ûÈ¡´ú,\
È»ºó·µ»Ø `text2'. `text1' µÄ×Ö·û±»Ò»¸öÒ»¸öµØʹÓÃ\
(ÓëÑÚÂëÎÞ¹Ø), Ö±ÖÁ `text1' ÀïûÓÐ×Ö·ûʱ²Å½áÊø.\
<li><tt>!text interact `text1' and `text2'\
table `itab' [mask `maskstring']</tt> <br>\
·µ»ØÒ»¸öеÄÎı¾, ËüÊÇ `text1' Óë `text2'\
µÄ¶ÔӦλÖõÄ×Ö·ûÏ໥×÷ÓõĽá¹û. Ï໥×÷ÓõĹæÔòÓÉ `itab' ¶¨Òå. <br>\
`itab' ÓÐ n+1 ÐÐ, ÿÐÐ n ¸ö×Ö·û. ºóÃæµÄ n\
ÐÐ×Ö·û¶¨ÒåÁËÏà¶ÔÓÚµÚÒ»ÐÐ×Ö·ûµÄ³Ë·¨±í.\
<br>\
³Ë·¨±í²»±Ø¶Ô³Æ. ÕâʱµÄÐжÔÓ¦ÓÚ `text1' ÀïµÄ×Ö·û,\
ÁÐÔò¶ÔÓ¦ÓÚ `text2' ÀïµÄ×Ö·û.\
<br>\
Èç¹û `text1' »ò `text2' µÄ¶ÔÓ¦×Ö·ûÖÐÓÐÒ»¸ö²»³öÏÖÔÚ\
`itab' µÄµÚÒ»ÐÐ, Ôò¶ÔӦλÖõÄÏ໥×÷Óýá¹ûÊÇ¿Õ(ʲôҲûÓÐ).\
ÀàËƵØ, ±»ÑڸǵÄλÖÃÒ²±»ºöÂÔ.\
<br>\
Èç¹û `text1' Óë `text2' Óв»Í¬³¤¶È,\
¾Í°Ñ³¤µÄ´®½Ø¶Ì.\
<li><tt>!text mark `charlist' in `text'\
</tt> <br>\
·µ»ØÒ»¸öÑÚÂë´®, Èç¹û `text' µÄ×Ö·û³öÏÖÔÚ `charlist' ÖÐ,\
ÑÚÂë´®µÄÏàӦλÖÃÈ¡ '1', ·ñÔòÈ¡ '0'.\
<li
><tt
>!text
max `text1
' and `text2'\
[mask `maskstring']</tt> <br>\
·µ»ØÒ»¸ö×Ö·û´®, Æä×Ö·ûÊÇ `text1' Óë `text2'\
µÄ¶ÔÓ¦×Ö·ûÖÐ ASCII Âë½Ï´óµÄÄǸö. ³¤¶ÈµÈÓڽϳ¤µÄ´®. ÑڸǵÄλÖñ»Ìø¹ý.\
<li><tt>!text min `text1' and `text2'\
[mask `maskstring']</tt> <br>\
·µ»ØÒ»¸ö×Ö·û´®, Æä×Ö·ûÊÇ `text1' Óë `text2'\
µÄ¶ÔÓ¦×Ö·ûÖÐ ASCII Âë½ÏСµÄÄǸö. ³¤¶ÈµÈÓڽ϶̵Ĵ®. ÑڸǵÄλÖñ»Ìø¹ý.\
<li><tt>!text occur `charlist' in `text'\
[mask `maskstring']</tt> <br>\
·µ»Ø `charlist' ÖгöÏÖÔÚ `text'\
Àïδ±»ÑÚ¸ÇλÖõÄ×Ö·û. <br>\
(occur µÄͬÒå´Ê: appear, occurrence).\
<li><tt>!text remove `charlist' in `text'\
[mask `maskstring']</tt> <br>\
·µ»Ø×Ö·û´® `text', ÆäÖгýÈ¥Á˱»ÑڸǵÄ×Ö·ûÒÔ¼°³öÏÖÔÚ\
`charlist' ÀïµÄ×Ö·û. <br>\
(remove µÄͬÒå´Ê: drop, delete).\
<li><tt>!text reorder `text' by `orderlist'\
</tt> <br>\
·µ»ØÀûÓÃÅÅÐò±í `orderlist' ÖØÅŹýµÄ `text'.\
µ± `orderlist' ±È `text' ¶Ìʱ, ÖØÅŽ«Ñ»·½øÐÐ. <br>\
`orderlist' ±ØÐëÊǼ¯ºÏ {1,...,n} µÄÅÅÁбí.\
Èç¹û `orderlist' º¬Óг¬½çµÄÕûÊý, ·µ»ØµÄÊÇ¿Õ´®.\
µ«ÊÇ¶Ô `orderlist' µÄÏî²¢²»×÷ΨһÐÔ¼ì²é.\
<li><tt>!text repeat `text' to `len'\
</tt> <br>\
Ñ»·µØÖظ´´® `text', Ö±ÖÁ´ïµ½³¤¶È `len'.\
<li><tt>!text reverse `text'</tt> <br>\
µßµ¹ `text' µÄ´ÎÐò.\
<li><tt>!text select `charlist' in `text'\
[mask `maskstring']</tt> <br>\
·µ»Ø×Ö·û´® `text', ÆäÖгýÈ¥Á˱»ÑڸǵÄ×Ö·ûÒÔ¼°²»³öÏÖÔÚ\
`charlist' ÀïµÄ×Ö·û. <br>\
(select µÄͬÒå´Ê: pick, pickup).\
</ul>