-1

嗨,我有以下字符串作为服务器的输出。

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzY29wZSI6InNjb3BlOmNsaWVudDppbmNvbWluZz9jbGllbnROYW1lPWplbm55IHNjb3BlOmNsaWVudDpvdXRnb2luZz9hcHBTaWQ9QVA2YmI2NDI1ZmE3MTU3MzdmYjFmYTllMjI1MDk4NjdlMSZhcHBQYXJhbXM9JmNsaWVudE5hbWU9amVubnkiLCJpc3MiOiJBQzI4YmNjYzc0NzQ4ZDAzNzRmNzg5ZjgyN2U0OGMzODNjIiwiZXhwIjoxMzYxNDM0ODY1fQ.q17gvt8ItDmximK2rpS5bHwtsfbk3l-suSx2jXju3Wk
<!-- Hosting24 Analytics Code -->
<script type="text/javascript" src="http://stats.hosting24.com/count.php"></script>
<!-- End Of Analytics Code -->

我想跳过字符串的 html 部分,即我只想要

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzY29wZSI6InNjb3BlOmNsaWVudDppbmNvbWluZz9jbGllbnROYW1lPWplbm55IHNjb3BlOmNsaWVudDpvdXRnb2luZz9hcHBTaWQ9QVA2YmI2NDI1ZmE3MTU3MzdmYjFmYTllMjI1MDk4NjdlMSZhcHBQYXJhbXM9JmNsaWVudE5hbWU9amVubnkiLCJpc3MiOiJBQzI4YmNjYzc0NzQ4ZDAzNzRmNzg5ZjgyN2U0OGMzODNjIiwiZXhwIjoxMzYxNDM0ODY1fQ.q17gvt8ItDmximK2rpS5bHwtsfbk3l-suSx2jXju3Wk

我想从字符串中删除以下内容

<!-- Hosting24 Analytics Code -->
<script type="text/javascript" src="http://stats.hosting24.com/count.php"></script>
<!-- End Of Analytics Code -->

我应该使用什么方法来检测<!--和跳过字符串的其余部分?

4

3 回答 3

4

如果您尝试删除的分析评论始终位于字符串的末尾,您可以执行以下操作:

String s = "...";
int pos = s.indexOf("<!-- Hosting24 Analytics Code -->");
if (pos >= 0) { s = s.substring(0, pos); }
// continue working with s

如果它位于字符串中间的某个位置,您可能需要额外的 indexOf() 调用来查找要删除的内容的开始和结束。请注意,当未找到子字符串时,此方法返回 -1。

s.substring(a, b);

将返回 s 中从位置 a 开始到位置 b - 1 结束的字符子序列(如果 a==b 则结果字符串为空)。

于 2013-02-21T07:34:58.480 回答
0
String s = "inputString";

StringBuilder sb = new StringBuilder();
char ch;
boolean check=false;
for(int i=0; i<s.length(); i++)
{
    ch = s.charAt(i);
    if(ch == '<')
    {
        check = false;
    }
    if(ch == '>')
    {
        check = true;
        ch = s.charAt(i);
    }
    if(check)
        sb.append(ch);
}
于 2013-02-21T07:37:48.993 回答
-1

尝试这个:

str = str.replaceAll("<.*", "");
于 2013-02-21T08:57:46.947 回答