当前位置: 首页 > 知识库问答 >
问题:

Java Regex -忽略图像url中的大小字符串

许永年
2023-03-14

我试图从图像URL字符串中删除大小规范,但似乎找不到解决方案。我不太了解正则表达式,所以我尝试了<code>[0-9x],但它只删除了url中的所有数字,而不仅仅是维度子字符串。我只想去掉像<code>110x61</code>这样的部分。

我想将我的字符串转换为:

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来测试模式,但我提出的方法都不起作用……什么正则表达式可以解决我的问题?任何帮助都将不胜感激。删除尾部<code>的额外点数?6da9e4

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

共有3个答案

慕容博涛
2023-03-14

这个正则表达式有效:

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"

如果您想在这里保留连字符< code>-110x61,请使用< code > URL . replace all("[0-9]x[0-9]"," ");

邢雨华
2023-03-14

如果连字符 (-) 在尺寸之前始终是常量,则可以使用以下方法。

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
双子民
2023-03-14

正则表达式 -\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
 类似资料:
  • 我如何用PHP中的正则表达式来实现这个 匹配此内容并忽略尺寸部分 请记住,300x200可以是任何东西,从4charsx4chars到1charx1chars

  • 问题内容: 忽略大小写,比较Python中字符串的最简单方法是什么? 当然可以做到(str1.lower()<= str2.lower())等,但这会创建两个附加的临时字符串(明显的alloc / gc开销)。 我想我正在寻找一个等效于C的stricmp()。 [请求更多上下文,所以我将用一个简单的示例进行演示:] 假设您要排序一个完整的字符串列表。您只需执行List.sort()。这是O(n *

  • 问题内容: 是否可以确定String是否包含字符串模式?我想知道当字符不区分大小写时是否有可能。如果是这样,怎么办? 问题答案: 您可以使用 检查CharSequence是否包含搜索CharSequence(不区分大小写),处理为null。不区分大小写由String.equalsIgnoreCase(String)定义。 空的CharSequence将返回false。 这将比regex更好,因为

  • 问题 你需要以忽略大小写的方式搜索与替换文本字符串 解决方案 为了在文本操作时忽略大小写,你需要在使用 re 模块的时候给这些操作提供 re.IGNORECASE 标志参数。比如: >>> text = 'UPPER PYTHON, lower python, Mixed Python' >>> re.findall('python', text, flags=re.IGNORECASE) ['P

  • 问题内容: 我有一个列表,其中包含代表动物名称的字符串。我需要对列表进行排序。如果使用,它将首先使用大写字符串然后使用小写形式提供列表输出。 但是我需要下面的输出。 输入: 输出: 问题答案: 该方法和功能迈出了关键的参数: 为每个值调用名为in的函数,并在排序时使用返回值,而不会影响实际值: 要在之前进行排序,您必须在键中包含更多信息,以便以给定的顺序对相等的值进行排序: 为和为生成更复杂的密钥

  • 我只是最近迁移一些旧的博客文章从一个网站到另一个。图像也已导入。然而,现在我的大多数图像返回404错误。 图片目前正在链接到/wp content/uploads/2018/05/image_name-800x600.jpg。我的问题是800x600是已添加的自定义图像大小。我尝试为800x600添加主题支持,然后使用“强制重新生成缩略图”WordPress插件重新生成缩略图。这似乎没有解决任何问