【发布时间】:2016-07-08 06:20:34
【问题描述】:
我需要获取String 并删除其中以character '[' 开头并以character ']' 结尾的所有正则表达式。
现在我不知道如何解决这个问题。我尝试将String 转换为字符数组,然后将空字符从任何开始的'[' 到他的结束']' 中,然后使用toString() 方法将其转换回String。
我的代码:
char[] lyricsArray = lyricsParagraphElements.get(1).text().toCharArray();
for (int i = 0;i < lyricsArray.length;i++)
{
if (lyricsArray[i] == '[')
{
lyricsArray[i] = ' ';
for (int j = i + 1;j < lyricsArray.length;j++)
{
if (lyricsArray[j] == ']')
{
lyricsArray[j] = ' ';
i = j + 1;
break;
}
lyricsArray[j] = ' ';
}
}
}
String songLyrics = lyricsArray.toString();
System.out.println(songLyrics);
但是在 songLyrics 的印刷行中,我得到了一些奇怪的东西,比如
[C@71bc1ae4
[C@6ed3ef1
[C@2437c6dc
[C@1f89ab83
[C@e73f9ac
[C@61064425
[C@7b1d7fff
[C@299a06ac
[C@383534aa
[C@6bc168e5
我想有一个简单的方法。任何帮助将不胜感激。
为了澄清:
将"abcd[dsadsadsa]efg[adf%@1]d" 转换为"abcdefgd"
【问题讨论】:
-
使用
new String(lyricsArray)。 -
@AndyTurner 关于什么和在哪里?
-
而不是
lyricsArray.toString() -
@AndyTurner 谢谢。我会试试的。
标签: java arrays regex string tostring