----------------
文本的替换、分割、查找
--------------------
应のBlog
文本的替换:
很简单:用 replace 就可以,这就是替换的意思。
用法:
假如现在 appuifw.app.body=m=appuifw.Text() 上面有如下字符:
mifan教程,网址,mifan 是摇滚 mifan
我们这里要把里面的所有 mifan 替换为中文 "米饭"。然后再写上去.看代码:
m.set(m.get().replace("mifan",cn("米饭")))
把这段代码分开来写:
a=m.get()
b=a.replace("mifan",cn("米饭"))
m.set(b)
明白了吧, replace 后面的括号里是(要替换的字符,替换为)
这里只是单个替换,如果想替换多个呢?那就一个一个的堆.
b=a.replace("mifan",cn("米饭")).replace(cn("网址"),u"zntx.org.cn")
就是这样简单.
文本的分割
什么是分割呢?比如我们有这样一段文字:
摇滚|米饭|写|教程
这个假如是保存在 'e:\\test.txt' 中.现在:
f=open("e:\\test.txt","r")
t=f.read().decode("utf-8")
f.close()
p=t.split("|")
这里用的就是这个 split
现在我们得到的 p 就是 ["摇滚","米饭","写","教程"] (编者著:这里注意是 "UTF-8" 编码)
假如我们想把其中第 2 个返回在界面上,就可以
m.add(p[1]) 这个以前我们好像学过吧.
关于这个的详细使用大家可以下载本文后面那个小代码
文本的查找:
我们这里简单的讲一下文本的查找.在界面上有一堆字,然后我们要查找某字,这个你可以用
appuifw.query
来定义.然后查到到这个字并把光标放到这个字的前面.
m.get().find
(要查找的字符或字符串),这样返回的是一个 integer整数 .
我们把它定义成
pos=m.get().find
( 要查找的字符或字符串 )
然后 m.set_pos(pos) 就会自动把光标放到这个查找结果前面了
那么比如:有一段文字:
<url=http://wap.8zntx.com/bbs/book_view.asp?pageback=1&id=21797>返回目录</url>
现在我们想获取其中的地址,并 set 在界面上.
links=u"<url=http://wap.8zntx.com/bbs/book_view.asp?pageback=1&id=21797>返回目录</url>"
st=u"<url="
begin=links.find(st)
end=links.find(u">")
begin += len(st)
text=links[begin:end]
m.set(text)
注意:这段代码我写完没有测试,觉得可以行,如果不可以的话请参考我在本文后面给出的:*zntx编贴助手代码*
具体我就不讲解了,自己悟吧,也不能总是这么清楚的讲了,得养成独立思考的好习惯.
好了.后面我给出我刚才写的一段代码.下载完放到软件里运行,不会运行的可以从头再学了.
然后还有一份我写的ZNTX编贴助手,大家可以学习一下,但是请不要把这个代码直接拿来说是自己开发的哦.