如何用""替换给定的子字符串从给定的字符串?

时间:2016-10-06 06:36:26

标签: java liferay

我经历了几个例子,用""替换给定字符串中的给定子字符串,但无法实现结果。字符串太长而无法发布,它包含一个子字符串,如下所示: -

/image/journal/article?img_id=24810&t=1475128689597

我想用""替换这个子字符串。这里img_idt的值可能会有所不同,所以我必须使用正则表达式。我尝试使用以下代码: -

String regex="^/image/journal/article?img_id=([0-9])*&t=([0-9])*$";
content=content.replace(regex,"");

这里的内容是原始的给定字符串。但是这段代码实际上并没有取代content中的任何内容。所以,请帮助..任何帮助将不胜感激.thanx提前。

3 个答案:

答案 0 :(得分:2)

使用replaceAll可以很好地使用正则表达式

content=content.replaceAll("[0-9]*","");

代码

String content="/image/journal/article?img_id=24810&t=1475128689597";
content=content.replaceAll("[0-9]*","");
System.out.println(content);

输出:

/image/journal/article?img_id=&t=

更新:简单,可能不那么舒适但很容易一个

    String content="sas/image/journal/article?img_id=24810&t=1475128689597";
    content=content.replaceAll("\\/image.*","");
    System.out.println(content);

输出:

sas

如果在t=1475128689597/?tag=343sdds之后还有其他内容,并且您希望保留?tag=343sdds,请使用以下

    String content="sas/image/journal/article?img_id=24810&t=1475128689597/?tag=343sdds";
    content=content.replaceAll("(\\/image.*[0-9]+[\\/])","");
    System.out.println(content);
    }

输出:

sas?tag=343sdds

答案 1 :(得分:0)

如果您尝试使用两个引号替换网址的子字符串,请执行以下操作:

/image/journal/article?img_id=""&t=""

然后,您需要在内容分配中添加转义引号\"\",编辑正则表达式以仅查找数字,并将其更改为replaceAll:

content=content.replaceAll(regex,"\"\"");

答案 2 :(得分:0)

您可以使用https://mongodb.github.io/node-mongodb-native/driver-articles/mongoclient.html根据给定的模式(正则表达式)将您的字符串替换为http://foo.com/index.html或(任何所需的字符串文字),如下所示:

// ==UserScript==
// @name        foo helper
// @description Append data fetched from bar.com
// @include     http://*foo.com/index.html
var bar = cross_site_get_page("http://bar.com");
document.body.appendChild(var);