作者elvisteal (TEAL)
看板Python
标题[问题] 字串判断
时间Thu Apr 14 18:26:42 2011
<font color="#00FFFF">[\xe3\x83\x97\xe3\x83\xac\xe3\x82\xa4\xe3\x83\xa4\xe3\x83\xbc\xe5\x90\x8d]</font><br>\n
\t\xe7\xb6\xbe\xe9\x83\xa8<br>
请问若有一串字串是这样子
而\xe7\xb6\xbe\xe9\x83\xa8 是不定变数,长度也不一样不过最後一定会有<br> (其它都是固定的)
请问我要如何抓取这不定变数?
※ 编辑: elvisteal 来自: 211.74.62.213 (04/14 18:30)
1F:→ uranusjr:前面有 \t, 後面有 <br>, 这有查过资料就会拆了吧... 04/14 19:21
2F:推 jimmylin212:'[抓中间的所有东西也可以]' 04/14 20:26
3F:→ AndCycle:这不是utf-8吗, 先deocde不好吗 04/14 20:29
简单来说这只是一整个大长串中的一小段
我目前只会做到用re.search(r'\xe3\x83\xbc\xe5\x90\x8d]</font><br>' , str )
去抓到\xe3\x83\xbc\xe5\x90\x8d]</font><br> 的所在
但我需要的值是後面 \xe7\xb6\xbe\xe9\x83\xa8 <----若要抓到这会一直变的变数要怎
麽写?
4F:推 cobrasgo:我直觉的做法是用split 04/15 00:46
5F:→ cobrasgo:target.split("<br>")[0]应该是你要的 04/15 00:47
6F:→ cobrasgo:不然很芭乐的用target[:len(target)-len("<br>")]也可 04/15 00:48
7F:推 cobrasgo:split那个方法要是target里会有<br>就不能这样用 04/15 00:51
8F:→ AndCycle:要芭乐的话用index/find就好了, split还会找出一堆不要的 04/15 03:26
这样来说好了><"
它是整个网页的其中一小串
我有没有办法可以用re.search( ) 去做到
一串包含到 \xe7\xb6\xbe\xe9\x83\xa8 <===此变数的值(此为长度6)
(但有可能长度是2or10都不一定)
因为它是长度会变化的值....我目前看到网路上相关教学都没有教到怎麽抓介於
中间的不固定长度的值啊....
原本我有想说试着写成像类似底下这样的想法
re.search(r'\xbc\xe5\x90\x8d]</font><br>\w\w\w\w\w\w<br>' , str)
但长度不固定....整个无脑....再加上我也不知道用\w是不是对的...
9F:→ Holocaust123:regex能做的不只是单纯的raw string matching而已 04/15 09:43
10F:→ Holocaust123:建议原PO找些教材把regex的基本功弄熟 这种问题就迎 04/15 09:45
11F:→ Holocaust123:刃而解了 04/15 09:45
12F:→ elvisteal:嗯嗯~~~有在找书了(感谢 04/15 12:15
出现了一个奇怪的问题了.....
string = "HARD</FONT></TD>\n"
我用了string.rstrip("</FONT></TD>\n")
不是理当会剩下HARD吗?
为什麽印出来後剩下HAR
D不见了!?
※ 编辑: elvisteal 来自: 211.74.5.176 (04/15 16:24)
13F:→ Holocaust123:是HAR没错呀 你要不要先弄清楚rstrip的作用? 04/15 17:12
14F:→ elvisteal:喔喔喔!我看懂了....我是笨蛋....orz 感谢 04/15 17:20