java使用字符串拆分来解析某个小节
非常感谢您的帮助,我有一个字符串,例如: APP_RUNTIME_ERB3242322_1_P3A97.tar.gz 我想对其进行解析并得到以下结果: P3A97 字符串会随着时间的推移而变化,但基本上,每当我获取这个字符串数据时,我都需要.tar.gz部分之前的最后五个字母数字字母 我可以使用java字符串拆分方法,但我不知道我可以使用什么正则表达式来获取最后5个字符。您可以首先基于“ux”进行拆分,然后获取它提供给您的最后一个标记。然后你可以在“.”上拆分,并获取它给你的第一个令牌。当然,这取决于格式是否始终具有每个分割相同数量的令牌 证明:java使用字符串拆分来解析某个小节,java,string,Java,String,非常感谢您的帮助,我有一个字符串,例如: APP_RUNTIME_ERB3242322_1_P3A97.tar.gz 我想对其进行解析并得到以下结果: P3A97 字符串会随着时间的推移而变化,但基本上,每当我获取这个字符串数据时,我都需要.tar.gz部分之前的最后五个字母数字字母 我可以使用java字符串拆分方法,但我不知道我可以使用什么正则表达式来获取最后5个字符。您可以首先基于“ux”进行拆分,然后获取它提供给您的最后一个标记。然后你可以在“.”上拆分,并获取它给你的第一个令牌。当然,这
APP\u RUNTIME\u ERB3242322\u 1\u P3A97.tar.gz
into
APP
运行时
ERB3242322
1
P3A97.tar.gz
然后将P3A97.tar.gz
拆分为P3A97
tar
和gz
您可以首先基于“uux”进行拆分,然后获取它给您的最后一个令牌。然后你可以在“.”上拆分,并获取它给你的第一个令牌。当然,这取决于格式是否始终具有每个分割相同数量的令牌
证明:
APP\u RUNTIME\u ERB3242322\u 1\u P3A97.tar.gz
into
APP
运行时
ERB3242322
1
P3A97.tar.gz
然后将P3A97.tar.gz
拆分为P3A97
tar
和gz
您可以使用
你可以用
每当我获取这个字符串数据时,我都需要.tar.gz部分前面的最后五个字母数字字母
我可以使用java字符串拆分方法,但我不知道我可以使用什么正则表达式来获取最后5个字符
这里不需要regexp。除了您提到的内容之外,如果可以假定.tar.gz
位于字符串的末尾,那么您正在查找子字符串
:
starting at (length of the string) - length(.tar.gz) - 5
ending at above index + 5
每当我获取这个字符串数据时,我都需要.tar.gz部分前面的最后五个字母数字字母
我可以使用java字符串拆分方法,但我不知道我可以使用什么正则表达式来获取最后5个字符
这里不需要regexp。除了您提到的内容之外,如果可以假定.tar.gz
位于字符串的末尾,那么您正在查找子字符串
:
starting at (length of the string) - length(.tar.gz) - 5
ending at above index + 5
为什么不在
或上拆分。或者可以拆分两次。如果始终是.tar.gz
之前的最后五个字符,则可以使用字符串长度为-12的子字符串方法(或其他,我没有计算)来获得所需的内容。为什么不在\uu
或
上拆分呢。或者你可以拆分两次。如果它总是.tar.gz
之前的最后五个字符,你可以使用substring方法和字符串的长度-12(或者其他一些,我没有计算过)来得到你想要的。那么谁知道名字本身会出现什么点呢str.indexOf(“.tar.gz”)
?哈哈。只是吹毛求疵;)我更喜欢这个解决方案。好主意。:)为什么要这样做而不是从len-12到len-7的简单子字符串?要求中没有任何内容表明解决方案需要拆分
或
lastIndexOf,并且您没有解释OP为什么要使用它。我确实认为这显然值得投反对票。我猜你会保守秘密的。那么谁知道名字中会出现什么样的点呢?str.indexOf(“.tar.gz”)
?哈哈。只是吹毛求疵;)我更喜欢这个解决方案。好主意。:)为什么要这样做而不是从len-12到len-7的简单子字符串?要求中没有任何内容表明解决方案需要拆分或lastIndexOf,并且您没有解释OP为什么要使用它。我确实认为这显然值得投反对票。我猜你会保守秘密的。
starting at (length of the string) - length(.tar.gz) - 5
ending at above index + 5