怎么处理这样的字符串?

问题描述

现在有HTML标签的字符串,里面都是些<P>,<img>,<b>,<div>之类的标签,还有文字,现在我要把<img>标签的找出来,然后把src里面是相对路径的加上ip地址如<img src='/xxx/xxx/yy.jpg'/>改成<img src='http://122.11.11.11:8080/xxx/xxx/yy.jpg'/>如果已经是<img src='http://12.2.2.3:89/xxx/xxx/yy.jpg'/>就不改大家谁有好一点的方法,谢谢了,我这个是在ANDROID平台上面的版本是2.2以上

解决方案

建议你使用一个第三方类库:JSOUP,这个类库可以使用getElementById 和getElementsByTag 与Javascript类似的方法,同时还支持select方法,可以像jquery一样的通过选择器去获取元素Document doc = Jsoup.connect(url).get();Elements imgs = content.getElementsByTag("img");Iterator<Element> it = links.listIterator();while(it.hasNext()){ Element e = it.next(); if(e.attr('src').indexOf("http://")<0){ .... }}http://www.open-open.com/jsoup/
解决方案二:
1、获取所有标签以img开头的,形成数组;2、遍历数组,每次获取对应的src;3、取得对应的src的值判断是否以http://开头,是的话不作处理,否则在原来的src上添加http://+Ip。具体的方法,参考js,字符串操作。
解决方案三:
Android没做过,不过可以考虑使用正则表达式来处理,正则表达式的字符串处理功能还是很强大的。

时间: 2024-09-20 14:27:54

怎么处理这样的字符串?的相关文章

Python检测字符串中是否包含某字符集合中的字符

  这篇文章主要介绍了Python检测字符串中是否包含某字符集合中的字符,需要的朋友可以参考下 目的 检测字符串中是否包含某字符集合中的字符 方法 最简洁的方法如下,清晰,通用,快速,适用于任何序列和容器 代码如下: def containAny(seq,aset): for c in seq: if c in aset: return True return False 第二种适用itertools模块来可以提高一点性能,本质上与前者是同种方法(不过此方法违背了Python的核心观点:简洁,清

在Python中处理字符串之isdecimal()方法的使用

  这篇文章主要介绍了在Python中处理字符串之isdecimal()方法的使用,是Python入门学习的基础知识,需要的朋友可以参考下 isdecimal()方法检查字符串是否仅由十进制字符组成.此方法只存在于unicode对象. 注意:要定义一个字符串为Unicode,只需前缀分配'u'左引号.以下是示例. 语法 以下是isdecimal()方法的语法: ? 1 str.isdecimal() 参数 NA 返回值 如果字符串中的所有字符为十进制此方法返回true,否则返回false. 例子

php查询相似度最高的字符串的方法

 这篇文章主要介绍了php查询相似度最高的字符串的方法,涉及php操作字符串及数组实现相似度算法的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了php查询相似度最高的字符串的方法.分享给大家供大家参考.具体如下: 根据传入的字符串和数组,返回数组中相似度最高的字符串 1. PHP代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 function closest_word($input, $words) { $shortest

md5 16位二进制与32位字符串相互转换

 密码很多时候都会用 md5保存,并且很多时候都是16位二进制格式的md5,php 里面 md5($str, true) 可以很方便的获取.更多时候md5结果是一组32个字符组成的字符串,其实转换很简单   代码如下: <?php   $str = 'test'; $cm = md5($str); $bm = md5($str, true);   $cstr = implode(unpack('H*', $bm)); $bstr = pack('H*', $cm);     echo 'str:

PHP字符串的连接

 这篇文章主要介绍了PHP字符串的连接的简单实例,有需要的朋友可以参考一下 很多时候我们需要将几个字符串连接起来显示,在PHP中,字符串之间使用"点"来连接,也就是英文中的句号".",具体使用方式如下: 代码如下: <?php   //定义字符串   $str1 = "Hello World!";   $str2 = "Welcome to HutaoW's BLOG!";     //连接上面两个字符串 中间用空格分隔

ASP中一个字符串处理类(VBScript)

vbscript|字符串 这个类是用于处理字符串的,是老外写的,我把里面的功能和参数加了说明 使用方法: =============== test.asp================ <!--#include file="StringOperations.asp"--> <%dim strset str = New StringOperations test = str.toCharArray("check this out") respons

asp.net.想要实现一个文字字符串转换成MP3和wav格式的语音

问题描述 asp.net.想要实现一个文字字符串转换成MP3和wav格式的语音 2C 文字字符串转换成MP3和wav格式的语音文件并且存入数据库,请问如何实现.需要转换成音频文件后可以读出文字内容 解决方案 你需要一个与字符对应的音频库,就像电子琴.比如1对应声音多,2对应声音来,3对应声音咪--,还有长音,短音,4分,8分等等,当你输入一个字符串时,找到跟他对应的声音,就能实现准确的转换了.

c-关于C字符串数组格式化输出的一些小问题

问题描述 关于C字符串数组格式化输出的一些小问题 尝试写了一个输入输出文件和小程序,因为出问题的就只有这两行代码,所以没有把其他代码贴上来 最初代码是这样的 head[][5] char head[][5] = { "id", "name", "age", "grade" }; fprintf ( input_file, "%st%st%st%sn", head[0], head[1], head[2],

实用技巧:PHP截取中文字符串的问题

技巧|问题|中文|字符串 以下代码试用于GB2312编码,截取中文字符串是PHP中一个头疼的问题,解决方法是根据值是否大于等于128来判断是否是双字节字符,以避免出现乱码的情况.但中英文混合.特殊符号等问题总是存在,现在写一个比较全面的,仅供参考: 程序说明: 1. len 参数以中文字符为标准,1len等于2个英文字符,为了形式上好看些 2. 如果将magic参数设为false,则中文和英文同等看待,取绝对的字符数 3. 特别适用于用htmlspecialchars()进行过编码的字符串 4.

Sql Server实现自定义拆分字符串函数Split()

经常我们要用到批量操作时都会用到字符串的拆分,郁闷的是SQL Server中却没有自带Split函数,所以我们只能自己动手来解决一下.为了减少和数据库的通讯次数,我们都会利用这种方法来实现批量操作.当然有时我们会借助Execute这个方法来实现,利用这个方法有一个不好的地方就是她只认识以","分割的字符串,在传IDs批量操作的时候还是可以达到目的,但是经常我们要用到更复杂的操作时我们就需要自己动手来完成了...... 1.当我们需要传入很长的字符串是我们可以借助NText和Text类型