java从字符串数组中删除正则表达式
我需要从字符串数组中删除';'
。有什么解决办法吗
我在课堂上做的是检索一段没有空格的长字符串
(这是要分离的一长串)
我通过在它们之间插入';'
来分隔它们
(这个;是;一个;长的;一块;的;线的;要;被;分开的;)
然后我使用.split(";")
将它们添加到数组中。除了最后一个索引具有';'
外,所有索引都成功
this
is
a
long
piece
of
string
to
be
separated;
需要删除最后一个;
根据要求,代码如下
while (line != null) {
if(line.contains("../../"))
{
int startIndex = line.indexOf("../../") + 6;
int endIndex = line.indexOf(">", startIndex + 1);
String abc = "http://www.google.com/";
String imageSrc = line.substring(startIndex,endIndex);
//complete full url
String xyz = abc +imageSrc;
xyz = xyz.substring(0,xyz.indexOf('"'));
xyz = xyz +";";
content += xyz;
mStrings = content.split(";");
# 1 楼答案
Mikel的解决方案工作量要小得多,但您也可以使用StringTokenizer并将
returnDelims
指定为falsehttp://docs.oracle.com/javase/1.4.2/docs/api/java/util/StringTokenizer.html
# 2 楼答案
代码中没有什么特别的地方,我的意思是,如果您使用的是spilt(),那么它已经对您起作用了,如果没有,那么您的代码有问题,发布您的代码以查看您的代码到底有什么问题,或者这样做
# 3 楼答案
我认为你没有告诉我们全部情况,因为当你在
;
上拆分时,后面的;
将被忽略。通过运行此测试代码,您可以亲自查看:输出:
“答案”是什么也不做!它应该已经起作用了
# 4 楼答案
在拆分字符串之前,从字符串中删除最后的
;
不是最简单的方法吗?也就是说,删除最后一个字符(假定它总是;
):然后在那根绳子上分开