gpt4 book ai didi

java - java中从一行中删除px的正则表达式

转载 作者:行者123 更新时间:2023-11-30 02:34:51 25 4
gpt4 key购买 nike

我想将每一次出现的内容重写为 "height": "208px""height": 208。各个条目的高度可能不同,

我已经能够以编程方式完成此操作,但希望使用正则表达式来减少代码,但我在这方面基本上没有成功。你能帮我想出一个正则表达式吗?

例如:

"elements": [
{
"minHeight": 64,
"maxHeight": 1028,
"height": "208px",
"minWidth": 48,
"maxWidth": 1028,
"defaultWidth": 512,
"widgetid": "5892295a3ba871c00a000202"
}

应重写为:

"elements": [
{
"minHeight": 64,
"maxHeight": 1028,
"height": 208,
"minWidth": 48,
"maxWidth": 1028,
"defaultWidth": 512,
"widgetid": "5892295a3ba871c00a000202"
}

最佳答案

我可能会选择类似的东西:((?<=": )"(?=\d{1,4}px"))|((?<=": "\d{1,4})px")

public static removePX( final String text ) {
final String regex = "((?<=\": )\"(?=\\d{1,4}px\"))|((?<=\": \"\\d{1,4})px\")";
return text.replaceAll( regex, "" );
}

这将查找 "之后":和之前xxxpx"以及 px"之后": "xxx并将其删除。

假设始终是高度字段:((?<="height": )"(?=\d{1,4}px"))|((?<="height": "\d{1,4})px")

public static removePX( final String text ) {
final String regex = "((?<=\"height\": )\"(?=\\d{1,4}px\"))|((?<=\"height\": \"\\d{1,4})px\")";
return text.replaceAll( regex, "" );
}

这将查找 "之后"height":和之前xxxpx"以及 px"之后"height": "xxx并将其删除。

(?<=x)被称为“lookbehind”和 (?=x)称为“前瞻”。

您可能需要查看备忘单:RegExr.com了解有关正则表达式的更多信息。不幸的是,实时工具仅支持向前查找,而不支持向后查找。

关于java - java中从一行中删除px的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43355712/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com