切断String中的特定部分

时间:2012-10-28 14:18:01

标签: java

例如,我有:

String s = "{\"ABC\"}:Mycontent{\"123\"}";

我只想获得Mycontent {“123”}部分,这部分可以动态更改。有人可以告诉我该怎么做(快速演出)?

2 个答案:

答案 0 :(得分:4)

字符串内的split方法可以围绕正则表达式的匹配拆分字符串,因此您可以使用此方法。 如果所需字符串的位置始终相同,也可以使用子序列方法。 您也可以使用substring方法。 很多种方法。个人最喜欢的是子串

str2=str.substring(begin, [end]) 

我把[]放在最后,因为没有必要。如果不放置结束索引,则子字符串将继续,直到字符串结束。两个索引都必须是整数。此方法也返回一个字符串。

如果数字的大小也是动态变化的(例如123转到4567)你可以通过不使用结束索引然后使用find函数并找到字符串中最后一个数字之后的字符来解决这个问题(我想这不会改变)然后用\ 0替换该字符(使用替换方法),以便字符串在那里结束。

我提到的所有方法及解释都可以在javadoc

中找到

答案 1 :(得分:2)

在字符串上使用indexOf,您可以找到':'的出现位置并从中获取子字符串,如下所示:

s.substring(s.indexOf(':') + 1)

如果这是来自上游系统的结构化输出,你应该寻找标准的方法来解释它(首先看,它看起来像JSON,这意味着你应该使用JSON解析器。但它似乎是别的,你会更好地了解这个输入的来源。)