首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在JAVA/Android中从一个字符串中提取多个子串

在JAVA/Android中从一个字符串中提取多个子串
EN

Stack Overflow用户
提问于 2011-05-28 10:25:16
回答 2查看 3.5K关注 0票数 0

在我的Android应用程序中,我有一个很大的字符串,其中包含我的一个网页的源代码。这个网页使用javascript将六个透明的png旋转到其他几个png的顶部。我想做的是提取png文件名的最后4个字符,但只针对源代码中出现的前6个图像。每个png文件名的最后4个字符是我需要的时间戳,并希望将它们读入数组。

来源:

代码语言:javascript
复制
<html><head><style>html {background: black} body {background:black;margin:0;padding:0;}</style><script>setInterval('changeImage()',1000);function changeImage() {size = images.length;if (current == size-1) { current = -1;}current++;document.getElementById('rad').src = images[current];    }current = 0;images = new Array();images[0] = 'image.201105261318.png';images[1] = 'image.201105261323.png';images[2] = 'image.201105261330.png';images[3] = 'image.201105261336.png';images[4] = 'image.201105261342.png';images[5] = 'image.201105261348.png';</script></head><body><img style="position:absolute; top: 0px; left: 0px;z-index:1;" src="http://background.png"></body></html>

所需输出:

代码语言:javascript
复制
String Array = "1318,1323,1330,1336,1342,1348"

我已经尝试了许多不同的子串检索方法,但仍在努力。我知道如何使用".png“来识别字符串的结尾,但是不确定如何说我只需要分隔符前面的4个字符。

任何帮助都将不胜感激。

干杯

格雷格

编辑:

明白了!

代码语言:javascript
复制
int delimiter = source.indexOf(".png");
String imageTime1 = source.substring(delimiter-4,delimiter);
int delimiter2 = source.indexOf(".png",delimiter+4);
String imageTime2 = source.substring(delimiter2-4,delimiter2);
int delimiter3 = source.indexOf(".png",delimiter2+4);
String imageTime3 = source.substring(delimiter3-4,delimiter3);
int delimiter4 = source.indexOf(".png",delimiter3+4);
String imageTime4 = source.substring(delimiter4-4,delimiter4);
int delimiter5 = source.indexOf(".png",delimiter4+4);
String imageTime5 = source.substring(delimiter5-4,delimiter5);
int delimiter6 = source.indexOf(".png",delimiter5+4);
String imageTime6 = source.substring(delimiter6-4,delimiter6);

干杯

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-28 10:37:19

也许我没抓住重点,但是...

假设索引x是text.indexOf(".png"),您可以简单地使用text.substring(x-4,x);

然后你可以做text.indexOf(".png",x+4)来得到你的下一个图像结束,并重复上面的步骤。

如果可能的话,您可以在搜索扩展名之前将整个字符串更改为大写或小写。

票数 1
EN

Stack Overflow用户

发布于 2011-05-28 10:31:39

有了图像列表后,执行String.split(';')以获取images[0] = 'image.201105261318.png'项目列表。然后,您可以获取每个项目的长度,并使用String.substring(length-9,length-4)获取每个项目的最后4个字符。

子字符串code未经过测试,但您可以调整它以获得所需的内容。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6159304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档