【问题标题】:How can I extract the original String from a formatted one?如何从格式化的字符串中提取原始字符串?
【发布时间】:2023-01-07 22:46:46
【问题描述】:

好吧,假设我有一个变量teamName = appleteamPattern = [MW3-%s],它给了我full name: [MW3-apple].. 如果我知道全名队形有没有办法得到原件队名背部?

这是我使用的 Java 代码。 (这不是 XY 问题,我必须这样保存-_-) https://pastebin.com/GevJnaby

我尝试使用 Java 子字符串,但没有成功,因为 patternName 可以设置为任何值。 (我听说过一些类似模式/正则表达式的东西,但没有找到任何有用的功能)

【问题讨论】:

  • 在问题本身而不是外部链接中包含代码的相关部分。
  • 是否保证 teamPattern 包含单个 %s 占位符?在这种情况下,我会将其拆分为%s 之前和之后的部分,并从fullName 中删除这些部分。如果teamPattern 可能包含一个(n 转义的)文字%s,那么这已经很棘手了。
  • 您还可以使用正则表达式进行捕获和分组以获取 teamPattern 中的任何 fullName 并将其返回

标签: java


【解决方案1】:

teamPattern 有多少保证?

如果您可以确定 teamPattern 将只包含一个格式模式,即 %s,您可以:

  • 在 teamPattern 中找到 %s(从字符 #index 开始)
  • 计算嵌入的teamName右边的文本量(减法)
  • 计算teamName的长度(减法)
  • 获取 fullName.substring(...)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-15
    • 1970-01-01
    • 2021-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-09
    相关资源
    最近更新 更多