从 java 中的一行中删除 px 的正则表达式
regular expression for removing px from a line in java
我想按照 "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"
之前的 "
以及 ": "xxx
之后的 px"
并将其删除。
假设一直是高度字段:((?<="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"
之前的 "
以及 "height": "xxx
之后的 px"
并将其删除。
(?<=x)
称为 'lookbehind',(?=x)
称为 'lookahead'。
您可能想查看 RegExr.com 上的备忘单以了解有关正则表达式的更多信息。
不幸的是,live 工具只支持先行而不支持后行。
我想按照 "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"
之前的 "
以及 ": "xxx
之后的 px"
并将其删除。
假设一直是高度字段:((?<="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"
之前的 "
以及 "height": "xxx
之后的 px"
并将其删除。
(?<=x)
称为 'lookbehind',(?=x)
称为 'lookahead'。
您可能想查看 RegExr.com 上的备忘单以了解有关正则表达式的更多信息。 不幸的是,live 工具只支持先行而不支持后行。