0

我正在尝试从图像 URL 字符串中删除尺寸规格,但似乎找不到解决方案。我对正则表达式不太了解,所以我尝试[0-9x]了,但它只删除了 url 中的所有数字,而不仅仅是维度子字符串。我只想摆脱诸如110x61.

我想从这个转换我的字符串:

http://techdissected.com/wp-content/uploads/2014/09/google-fiber-rabbit-11-110x61.jpg?6da9e4

http://techdissected.com/wp-content/uploads/2014/09/Nixeus-Headphones-Featured-Image-110x41.jpg?6da9e4

http://techdissected.com/wp-content/uploads/2014/03/Ampedlogo_rac15a_featured-110x94.jpg?6da9e4

对此:

http://techdissected.com/wp-content/uploads/2014/09/google-fiber-rabbit-11.jpg?6da9e4

http://techdissected.com/wp-content/uploads/2014/09/Nixeus-Headphones-Featured-Image.jpg?6da9e4

http://techdissected.com/wp-content/uploads/2014/03/Ampedlogo_rac15a_featured.jpg?6da9e4

我正在使用RegexPlanet来测试模式,但我想出的方法都不起作用……什么正则表达式可以解决我的问题?任何帮助,将不胜感激。去除尾随加分?6da9e4

我在这里找到了一个有趣的解决方案,但它似乎不适用于 Java。

4

5 回答 5

2

正则表达式 -\d{1,4}x\d{1,4}

分解为:

- : the literal '-', followed by
\d{1,4}: any numeric character, one to four times, followed by
x : the literal 'x', followed by
\d{1,4}: any numeric character, one to four times

将在 Java 中为您工作

String input = "http://techdissected.com/wp-content/uploads/2014/09/Nixeus-Headphones-Featured-Image-110x41.jpg?6da9e4";  
input = input.replaceAll("-\\d{1,4}x\\d{1,4}", "");
System.out.println(input); 
//prints: http://techdissected.com/wp-content/uploads/2014/09/Nixeus-Headphones-Featured-Image.jpg?6da9e4
于 2014-09-26T01:18:15.970 回答
1

此正则表达式有效:

String url = "http://techdissected.com/wp-content/uploads/2014/09/google-fiber-rabbit-11-110x61.jpg?6da9e4";

String newUrl = url.replaceAll("-[0-9]+x[0-9]+", "");

System.out.println(newUrl);

输出:

"http://techdissected.com/wp-content/uploads/2014/09/google-fiber-rabbit-11.jpg?6da9e4"

如果您想在此处保留连字符,请-110x61使用url.replaceAll("[0-9]+x[0-9]+", "");

于 2014-09-26T01:22:40.893 回答
1

如果连字符 ( -) 在尺寸之前始终保持不变,则可以使用以下内容。

url = url.replaceAll("-\\d+x\\d+", "");
// http://techdissected.com/wp-content/uploads/2014/09/google-fiber-rabbit-11.jpg?6da9e4

要同时删除维度和尾随查询:

url = url.replaceAll("-\\d+x\\d+|\\?.*", "");
// http://techdissected.com/wp-content/uploads/2014/09/google-fiber-rabbit-11.jpg
于 2014-09-26T01:24:58.273 回答
0

不确定java,但这可能适用于任何维度:

/(-\d+x\d+)/g
于 2014-09-26T01:21:12.863 回答
0

字符串 url = " http://techdissected.com/wp-content/uploads/2014/09/Nixeus-Headphones-Featured-Image-110x41.jpg?6da9e4 ";

String replaceAll = url.replaceAll("-\\d*x\\d*", ""); System.out.println(replaceAll);

于 2014-09-26T01:26:58.260 回答