<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>傲鼠（朔鼠）-施学根</title>
	<atom:link href="http://www.aooshu.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.aooshu.com</link>
	<description>朔鼠之窝</description>
	<lastBuildDate>Thu, 25 Feb 2010 04:25:59 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>如何更好的利用Oracle全文检索</title>
		<link>http://www.aooshu.com/?p=35</link>
		<comments>http://www.aooshu.com/?p=35#comments</comments>
		<pubDate>Thu, 25 Feb 2010 02:37:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[oracle]]></category>

		<guid isPermaLink="false">http://www.aooshu.com/?p=35</guid>
		<description><![CDATA[不使用Oracle text功能,也有很多方法可以在Oracle数据库中搜索文本.可以使用标准的INSTR函数和LIKE操作符实现。
SELECT *FROM mytext WHERE INSTR (thetext, &#8216;Oracle&#8217;) &#62; 0;SELECT * FROM mytext WHERE thetext LIKE &#8216;%Oracle%&#8217;;
有很多时候，使用instr和like是很理想的, 特别是搜索仅跨越很小的表的时候.然而通过这些文本定位的方法将导致全表扫描,对资源来说消耗比较昂贵,而且实现的搜索功能也非常有限，因此对海量的文本数据进行搜索时，建议使用oralce提供的全文检索功能 建立全文检索的步骤步骤一　检查和设置数据库角色首先检查数据库中是否有CTXSYS用户和CTXAPP脚色。如果没有这个用户和角色，意味着你的数据库创建时未安装intermedia功能。你必须修改数据库以安装这项功能。　默认安装情况下，ctxsys用户是被锁定的，因此要先启用ctxsys的用户。 步骤二　赋权　在ctxsys用户下把ctx_ddl的执行权限赋于要使用全文索引的用户，例：
grant execute on ctx_ddl to pomoho;
步骤三　设置词法分析器(lexer)
Oracle实现全文检索，其机制其实很简单。即通过Oracle专利的词法分析器(lexer),将文章中所有的表意单元(Oracle 称为 term)找出来，记录在一组 以dr$开头的表中，同时记下该term出现的位置、次数、hash 值等信息。检索时，Oracle 从这组表中查找相应的term，并计算其出现频率，根据某个算法来计算每个文档的得分(score),即所谓的‘匹配率’。而lexer则是该机制的核心，它决定了全文检索的效率。Oracle 针对不同的语言提供了不同的 lexer, 而我们通常能用到其中的三个：
n  basic_lexer: 针对英语。它能根据空格和标点来将英语单词从句子中分离，还能自动将一些出现频率过高已经失去检索意义的单词作为‘垃圾’处理，如if , is 等，具有较高的处理效率。但该lexer应用于汉语则有很多问题，由于它只认空格和标点，而汉语的一句话中通常不会有空格，因此，它会把整句话作为一个term,事实上失去检索能力。以‘中国人民站起来了’这句话为例，basic_lexer 分析的结果只有一个term ,就是‘中国人民站起来了’。此时若检索‘中国’，将检索不到内容。
n  chinese_vgram_lexer: 专门的汉语分析器，支持所有汉字字符集(ZHS16CGB231280 ZHS16GBK ZHT32EUC ZHT16BIG5 ZHT32TRIS ZHT16MSWIN950 ZHT16HKSCS UTF8 )。该分析器按字为单元来分析汉语句子。‘中国人民站起来了’这句话，会被它分析成如下几个term: ‘中’，‘中国’，‘国人’，‘人民’，‘民站’，‘站起’，起来’，‘来了’，‘了’。可以看出，这种分析方法，实现算法很简单，并且能实现‘一网打尽’，但效率则是差强人意。
n  chinese_lexer: 这是一个新的汉语分析器，只支持utf8字符集。上面已经看到，chinese vgram lexer这个分析器由于不认识常用的汉语词汇，因此分析的单元非常机械，像上面的‘民站’，‘站起’在汉语中根本不会单独出现，因此这种term是没有意义的，反而影响效率。chinese_lexer的最大改进就是该分析器 [...]]]></description>
			<content:encoded><![CDATA[<p>不使用Oracle text功能,也有很多方法可以在Oracle数据库中搜索文本.可以使用标准的INSTR函数和LIKE操作符实现。<br />
SELECT *FROM mytext WHERE INSTR (thetext, &#8216;Oracle&#8217;) &gt; 0;SELECT * FROM mytext WHERE thetext LIKE &#8216;%Oracle%&#8217;;</p>
<p>有很多时候，使用instr和like是很理想的, 特别是搜索仅跨越很小的表的时候.然而通过这些文本定位的方法将导致全表扫描,对资源来说消耗比较昂贵,而且实现的搜索功能也非常有限，因此对海量的文本数据进行搜索时，建议使用oralce提供的全文检索功能 建立全文检索的步骤步骤一　检查和设置数据库角色首先检查数据库中是否有CTXSYS用户和CTXAPP脚色。如果没有这个用户和角色，意味着你的数据库创建时未安装intermedia功能。你必须修改数据库以安装这项功能。　默认安装情况下，ctxsys用户是被锁定的，因此要先启用ctxsys的用户。 步骤二　赋权　在ctxsys用户下把ctx_ddl的执行权限赋于要使用全文索引的用户，例：<br />
grant execute on ctx_ddl to pomoho;</p>
<p>步骤三　设置词法分析器(lexer)<br />
Oracle实现全文检索，其机制其实很简单。即通过Oracle专利的词法分析器(lexer),将文章中所有的表意单元(Oracle 称为 term)找出来，记录在一组 以dr$开头的表中，同时记下该term出现的位置、次数、hash 值等信息。检索时，Oracle 从这组表中查找相应的term，并计算其出现频率，根据某个算法来计算每个文档的得分(score),即所谓的‘匹配率’。而lexer则是该机制的核心，它决定了全文检索的效率。Oracle 针对不同的语言提供了不同的 lexer, 而我们通常能用到其中的三个：<br />
n  basic_lexer: 针对英语。它能根据空格和标点来将英语单词从句子中分离，还能自动将一些出现频率过高已经失去检索意义的单词作为‘垃圾’处理，如if , is 等，具有较高的处理效率。但该lexer应用于汉语则有很多问题，由于它只认空格和标点，而汉语的一句话中通常不会有空格，因此，它会把整句话作为一个term,事实上失去检索能力。以‘中国人民站起来了’这句话为例，basic_lexer 分析的结果只有一个term ,就是‘中国人民站起来了’。此时若检索‘中国’，将检索不到内容。<br />
n  chinese_vgram_lexer: 专门的汉语分析器，支持所有汉字字符集(ZHS16CGB231280 ZHS16GBK ZHT32EUC ZHT16BIG5 ZHT32TRIS ZHT16MSWIN950 ZHT16HKSCS UTF8 )。该分析器按字为单元来分析汉语句子。‘中国人民站起来了’这句话，会被它分析成如下几个term: ‘中’，‘中国’，‘国人’，‘人民’，‘民站’，‘站起’，起来’，‘来了’，‘了’。可以看出，这种分析方法，实现算法很简单，并且能实现‘一网打尽’，但效率则是差强人意。<br />
n  chinese_lexer: 这是一个新的汉语分析器，只支持utf8字符集。上面已经看到，chinese vgram lexer这个分析器由于不认识常用的汉语词汇，因此分析的单元非常机械，像上面的‘民站’，‘站起’在汉语中根本不会单独出现，因此这种term是没有意义的，反而影响效率。chinese_lexer的最大改进就是该分析器 能认识大部分常用汉语词汇，因此能更有效率地分析句子，像以上两个愚蠢的单元将不会再出现，极大 提高了效率。但是它只支持 utf8, 如果你的数据库是zhs16gbk字符集，则只能使用笨笨的那个Chinese vgram lexer.<br />
如果不做任何设置，Oracle 缺省使用basic_lexer这个分析器。要指定使用哪一个lexer, 可以这样操作：<br />
第一． 当前用户下下建立一个preference(例：在pomoho用户下执行以下语句)<br />
exec ctx_ddl.create_preference (&#8216;my_lexer&#8217;, &#8216;chinese_vgram_lexer&#8217;);</p>
<p>第二．   在建立全文索引索引时，指明所用的lexer:<br />
CREATE INDEX myindex ON mytable(mycolumn) indextype is ctxsys.context<br />
parameters(&#8216;lexer my_lexer&#8217;);</p>
<p>这样建立的全文检索索引，就会使用chinese_vgram_lexer作为分析器。<br />
步骤四　建立索引<br />
通过以下语法建立全文索引<br />
CREATE INDEX [schema.]index on [schema.]table(column) INDEXTYPE IS ctxsys.context [ONLINE]<br />
LOCAL [(PARTITION [partition] [PARAMETERS('paramstring')]<br />
[, PARTITION [partition] [PARAMETERS('paramstring')]])]<br />
[PARAMETERS(paramstring)] [PARALLEL n] [UNUSABLE];例：<br />
CREATE INDEX ctx_idx_menuname ON pubmenu(menuname) indextype is ctxsys.context parameters(&#8216;lexer my_lexer&#8217;)</p>
<p>步骤五　使用索引<br />
使用全文索引很简单，可以通过：<br />
select * from pubmenu where contains(menuname,&#8217;上传图片&#8217;)&gt;0<br />
全文索引的种类<br />
建立的Oracle Text索引被称为域索引(domain index)，包括4种索引类型：<br />
l CONTEXT<br />
2 CTXCAT<br />
3 CTXRULE<br />
4 CTXXPATH<br />
依据你的应用程序和文本数据类型你可以任意选择一种。</p>
<p>对多字段建立全文索引<br />
很多时候需要从多个文本字段中查询满足条件的记录，这时就需要建立针对多个字段的全文索引，例如需要从pmhsubjects(专题表)的subjectname(专题名称)和briefintro(简介)上进行全文检索，则需要按以下步骤进行操作：<br />
Ø  建议多字段索引的preference<br />
以ctxsys登录，并执行：<br />
EXEC ctx_ddl.create_preference(&#8216; ctx_idx_subject_pref&#8217;,<br />
&#8216;MULTI_COLUMN_DATASTORE&#8217;);<br />
Ø         建立preference对应的字段值(以ctxsys登录)<br />
EXEC ctx_ddl.set_attribute(&#8216; ctx_idx_subject_pref &#8216;,&#8217;columns&#8217;,&#8217;subjectname,briefintro&#8217;);<br />
Ø         建立全文索引CREATE INDEX ctx_idx_subject ON pmhsubjects(subjectname) INDEXTYPE ISctxsys.CONTEXT PARAMETERS(&#8216;DATASTORE ctxsys.ctx_idx_subject_pref lexer my_lexer&#8217;)Ø         使用索引select * from pmhsubjects where contains(subjectname,&#8217;游鸿明&#8217;)&gt;0</p>
<p>全文索引的维护<br />
对于CTXSYS.CONTEXT索引，当应用程序对基表进行DML操作后，对基表的索引维护是必须的。索引维护包括索引同步和索引优化。<br />
在索引建好后，我们可以在该用户下查到Oracle自动产生了以下几个表：(假设索引名为myindex)：<br />
DR$myindex$I、DR$myindex$K、DR$myindex$R、DR$myindex$N其中以I表最重要，可以查询一下该表，看看有什么内容：<br />
SELECT token_text, token_count FROM dr$i_rsk1$I WHERE ROWNUM &lt;= 20;</p>
<p>这里就不列出查询接过了。可以看到，该表中保存的其实就是Oracle 分析你的文档后，生成的term记录在这里，包括term出现的位置、次数、hash值等。当文档的内容改变后，可以想见这个I表的内容也应该相应改变，才能保证Oracle在做全文检索时正确检索到内容(因为所谓全文检索，其实核心就是查询这个表)。这就用到sync(同步) 和 optimize(优化)了。<br />
同步(sync): 将新的term 保存到I表；<br />
优化(optimize): 清除I表的垃圾，主要是将已经被删除的term从I表删除。<br />
当基表中的被索引文档发生insert、update、delete操作的时候，基表的改变并不能马上影响到索引上直到同步索引。可以查询视图CTX_USER_PENDING查看相应的改动。例如：<br />
SELECT pnd_index_name, pnd_rowid,TO_CHAR (pnd_timestamp, &#8216;dd-mon-yyyy hh24:mi:ss&#8217;) timestampFROM ctx_user_pending;<br />
该语句的输出类似如下：PND_INDEX_NAME                 PND_ROWID          TIMESTAMP&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;MYINDEX                        AAADXnAABAAAS3SAAC 06-oct-1999 15:56:50</p>
<p>同步和优化方法: 可以使用Oracle提供的ctx_ddl包同步和优化索引<br />
一.  对于CTXCAT类型的索引来说， 当对基表进行DML操作的时候，Oracle自动维护索引。对文档的改变马上反映到索引中。CTXCAT是事务形的索引。<br />
索引的同步<br />
在对基表插入，修改，删除之后同步索引。推荐使用sync同步索引。语法：<br />
ctx_ddl.sync_index(idx_name IN VARCHAR2 DEFAULT NULLmemory IN VARCHAR2 DEFAULT NULL,part_name IN VARCHAR2 DEFAULT NULLparallel_degree IN NUMBER DEFAULT 1); idx_name   索引名称memory    指定同步索引需要的内存。默认是系统参数DEFAULT_INDEX_MEMORY 。</p>
<p>指定一个大的内存时候可以加快索引效率和查询速度，且索引有较少的碎片<br />
part_name 同步哪个分区索引。<br />
parallel_degree 并行同步索引。设置并行度。<br />
例如：<br />
同步索引myindex:Exec   ctx_ddl.sync_index (&#8216;myindex&#8217;);</p>
<p>实施建议：建议通过oracle的job对索引进行同步<br />
索引的优化<br />
经常的索引同步将会导致你的CONTEXT索引产生碎片。索引碎片严重的影响了查询的反应速度。你可以定期优化索引来减少碎片，减少索引大小，提高查询效率。<br />
当文本从表中删除的时候，Oracle Text标记删除的文档，但是并不马上修改索引。因此，就的文档信息占据了不必要的空间，导致了查询额外的开销。你必须以FULL模式优化索引，从索引中删除无效的旧的信息。这个过程叫做垃圾处理。当你经常的对表文本数据进行更新，删除操作的时候，垃圾处理是很必要的。<br />
exec   ctx_ddl.optimize_index (&#8216;myidx&#8217;, &#8216;full&#8217;);<br />
实施建议：每天在系统空闲的时候对全文索引进行相应的优化，以提高检索的效率</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aooshu.com/?feed=rss2&amp;p=35</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>基于Sphinx+MySQL全文检索架构设计</title>
		<link>http://www.aooshu.com/?p=30</link>
		<comments>http://www.aooshu.com/?p=30#comments</comments>
		<pubDate>Tue, 23 Feb 2010 03:29:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Search]]></category>
		<category><![CDATA[Sphinx]]></category>

		<guid isPermaLink="false">http://www.aooshu.com/?p=30</guid>
		<description><![CDATA[基于Sphinx+MySQL全文检索架构设计http://www.blueidea.com/tech/program/2008/6025.asp
出自俄罗斯的开源全文搜索引擎软件 Sphinx ，单一索引最大可包含1亿条记录，在1千万条记录情况下的查询速度为0.x秒（毫秒级）。Sphinx创建索引的速度为：创建100万条记录的索引只需3～4分钟，创建1000万条记录的索引可以在50分钟内完成，而只包含最新10万条记录的增量索引，重建一次只需几十秒。
]]></description>
			<content:encoded><![CDATA[<p>基于Sphinx+MySQL全文检索架构设计<a href="http://www.blueidea.com/tech/program/2008/6025.asp">http://www.blueidea.com/tech/program/2008/6025.asp</a></p>
<p>出自俄罗斯的开源全文搜索引擎软件 <a href="http://www.sphinxsearch.com/" target="_blank">Sphinx</a> ，单一索引最大可包含1亿条记录，在1千万条记录情况下的查询速度为0.x秒（毫秒级）。Sphinx创建索引的速度为：创建100万条记录的索引只需3～4分钟，创建1000万条记录的索引可以在50分钟内完成，而只包含最新10万条记录的增量索引，重建一次只需几十秒。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aooshu.com/?feed=rss2&amp;p=30</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FLASH基本动画——游戏无限背景，连续滚动图片，循环滚动图片</title>
		<link>http://www.aooshu.com/?p=23</link>
		<comments>http://www.aooshu.com/?p=23#comments</comments>
		<pubDate>Sat, 06 Feb 2010 15:36:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AS2]]></category>

		<guid isPermaLink="false">http://www.aooshu.com/?p=23</guid>
		<description><![CDATA[无限背景最重要的是：遮蔽层的大小要与背景层呈交叉。

]]></description>
			<content:encoded><![CDATA[<p>无限背景最重要的是：遮蔽层的大小要与背景层呈交叉。</p>
<p><object style="width: 235px; height: 110px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="235" height="110" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.aooshu.com/wp-content/uploads/2010/02/while-background.swf" /><embed style="width: 235px; height: 110px;" type="application/x-shockwave-flash" width="235" height="110" src="http://www.aooshu.com/wp-content/uploads/2010/02/while-background.swf"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.aooshu.com/?feed=rss2&amp;p=23</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>as3底层高效的翻页实现PageFlip类</title>
		<link>http://www.aooshu.com/?p=20</link>
		<comments>http://www.aooshu.com/?p=20#comments</comments>
		<pubDate>Sat, 06 Feb 2010 15:18:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AS3]]></category>

		<guid isPermaLink="false">http://www.aooshu.com/?p=20</guid>
		<description><![CDATA[高效率的AS3翻页组件
观看演示
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.bytearray.org/?p=77">高效率的AS3翻页组件</a><br />
<a href="http://www.foxaweb.com/demos/as3/pageflip/PageFlip.swf">观看演示</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.aooshu.com/?feed=rss2&amp;p=20</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>第一个完整的FLASH作品（给小强的生日礼物）</title>
		<link>http://www.aooshu.com/?p=9</link>
		<comments>http://www.aooshu.com/?p=9#comments</comments>
		<pubDate>Fri, 05 Feb 2010 14:27:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AS2]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[JAVA]]></category>

		<guid isPermaLink="false">http://www.aooshu.com/?p=9</guid>
		<description><![CDATA[
这个FLASH是我第一次运用FLASH的基本动画，声音等多媒体元素完成的作品。对高中时代生活的一个回忆。一起在网吧玩CS游戏，一起在街头买菜……。每次看到这个动画的时候总有两个画面在脑海里：一个是大学时代的对FLASH的狂热追求，熬了几个通宵才完成这个FLASH，另一个是高中时代不学无术的生活（结果大学做了三年的书呆子）在天津国家图书馆吃1元2个的烧饼喝着白水，看着电脑书是我每个周末唯一的活动。
]]></description>
			<content:encoded><![CDATA[<p><object style="width: 550px; height: 400px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="550" height="400" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.aooshu.com/wp-content/uploads/2010/02/ToQiang343.swf" /><embed style="width: 550px; height: 400px;" type="application/x-shockwave-flash" width="550" height="400" src="http://www.aooshu.com/wp-content/uploads/2010/02/ToQiang343.swf"></embed></object></p>
<p>这个FLASH是我第一次运用FLASH的基本动画，声音等多媒体元素完成的作品。对高中时代生活的一个回忆。一起在网吧玩CS游戏，一起在街头买菜……。每次看到这个动画的时候总有两个画面在脑海里：一个是大学时代的对FLASH的狂热追求，熬了几个通宵才完成这个FLASH，另一个是高中时代不学无术的生活（结果大学做了三年的书呆子）在天津国家图书馆吃1元2个的烧饼喝着白水，看着电脑书是我每个周末唯一的活动。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aooshu.com/?feed=rss2&amp;p=9</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>如何替换一个字串中的问号，java中使用replace问号[?]</title>
		<link>http://www.aooshu.com/?p=6</link>
		<comments>http://www.aooshu.com/?p=6#comments</comments>
		<pubDate>Mon, 25 Jan 2010 02:34:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JAVA]]></category>
		<category><![CDATA[java replace 问号]]></category>

		<guid isPermaLink="false">http://www.aooshu.com/?p=6</guid>
		<description><![CDATA[jdk1.4及以上版本  
  String   s=&#8221;test   String=?   and   test   String   =?   and   test   String   =?&#8221;;  
  s=s.replaceAll(&#8220;[?]&#8220;,&#8221;!&#8221;);
]]></description>
			<content:encoded><![CDATA[<p>jdk1.4及以上版本  <br />
  String   s=&#8221;test   String=?   and   test   String   =?   and   test   String   =?&#8221;;  <br />
  s=s.replaceAll(&#8220;[?]&#8220;,&#8221;!&#8221;);</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aooshu.com/?feed=rss2&amp;p=6</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>java 的转义字符，在正则表达式中应用</title>
		<link>http://www.aooshu.com/?p=3</link>
		<comments>http://www.aooshu.com/?p=3#comments</comments>
		<pubDate>Mon, 25 Jan 2010 01:38:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JAVA]]></category>

		<guid isPermaLink="false">http://www.aooshu.com/?p=3</guid>
		<description><![CDATA[点的转义：. ==&#62; u002E
美元符号的转义：$ ==&#62; u0024
乘方符号的转义：^ ==&#62; u005E
左大括号的转义：{ ==&#62; u007B
左方括号的转义：[ ==&#62; u005B
左圆括号的转义：( ==&#62; u0028
竖线的转义：&#124; ==&#62; u007C
右圆括号的转义：) ==&#62; u0029
星号的转义：* ==&#62; u002A
加号的转义：+ ==&#62; u002B
问号的转义：? ==&#62; u003F
反斜杠的转义： ==&#62; u005C
Java代码
String str2="a&#38;b&#38;c";
String strs[]=str2.split(&#8220;&#38;&#8221;);
for(String str:strs){
System.out.println(str);
}
并不会打出 a , b ,c需要转义才可如:
Java代码
String str2=&#8221;a&#38;b&#38;c&#8221;;
String strs[]=str2.split(&#8220;\\u0024&#8220;);
for(String str:strs){
System.out.println(str);
}
如果是两个&#38;&#38;号那就\\u0024\\u0024了
]]></description>
			<content:encoded><![CDATA[<p>点的转义：. ==&gt; u002E<br />
美元符号的转义：$ ==&gt; u0024<br />
乘方符号的转义：^ ==&gt; u005E<br />
左大括号的转义：{ ==&gt; u007B<br />
左方括号的转义：[ ==&gt; u005B<br />
左圆括号的转义：( ==&gt; u0028<br />
竖线的转义：| ==&gt; u007C<br />
右圆括号的转义：) ==&gt; u0029<br />
星号的转义：* ==&gt; u002A<br />
加号的转义：+ ==&gt; u002B<br />
问号的转义：? ==&gt; u003F<br />
反斜杠的转义： ==&gt; u005C<br />
Java代码<br />
String str2="a&amp;b&amp;c";<br />
String strs[]=str2.split(&#8220;&amp;&#8221;);<br />
for(String str:strs){<br />
System.out.println(str);<br />
}<br />
并不会打出 a , b ,c需要转义才可如:</p>
<p>Java代码<br />
String str2=&#8221;a&amp;b&amp;c&#8221;;<br />
String strs[]=str2.split(&#8220;<a href="file:///C:/u0024">\\u0024</a>&#8220;);<br />
for(String str:strs){<br />
System.out.println(str);<br />
}</p>
<p>如果是两个&amp;&amp;号那就<a href="file:///C:/u0024/u0024">\\u0024\\u0024</a>了</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aooshu.com/?feed=rss2&amp;p=3</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
