例如,我有:
String s = "{\"ABC\"}:Mycontent{\"123\"}";
我只想获得Mycontent {“123”}部分,这部分可以动态更改。有人可以告诉我该怎么做(快速演出)?
答案 0 :(得分:4)
字符串内的split方法可以围绕正则表达式的匹配拆分字符串,因此您可以使用此方法。 如果所需字符串的位置始终相同,也可以使用子序列方法。 您也可以使用substring方法。 很多种方法。个人最喜欢的是子串
str2=str.substring(begin, [end])
我把[]放在最后,因为没有必要。如果不放置结束索引,则子字符串将继续,直到字符串结束。两个索引都必须是整数。此方法也返回一个字符串。
如果数字的大小也是动态变化的(例如123转到4567)你可以通过不使用结束索引然后使用find函数并找到字符串中最后一个数字之后的字符来解决这个问题(我想这不会改变)然后用\ 0替换该字符(使用替换方法),以便字符串在那里结束。
我提到的所有方法及解释都可以在javadoc
中找到答案 1 :(得分:2)
在字符串上使用indexOf,您可以找到':'的出现位置并从中获取子字符串,如下所示:
s.substring(s.indexOf(':') + 1)
如果这是来自上游系统的结构化输出,你应该寻找标准的方法来解释它(首先看,它看起来像JSON,这意味着你应该使用JSON解析器。但它似乎是别的,你会更好地了解这个输入的来源。)