我有一个要在java中解析的字符串。我的输入字符串是:#hello#adam@how@are@you
。
我希望输出为:
#hello
#adam
@how
@are
@you
我尝试使用以下代码,但它没有提供所需的输出。
StringTokenizer st = new StringTokenizer(txt,"#,");
ArrayList<String> str =new ArrayList<String>();
while (st.hasMoreElements()) {
str.add(st.nextElement().toString());
}
答案 0 :(得分:1)
您可以使用正则表达式轻松解决此问题。
仅考虑您提供的信息,这可能是一种可能的解决方案。
public class Parsing {
public static void main (final String[] args) {
final String regexp = "([@#][a-z]+)";
final Pattern pattern = Pattern.compile(regexp);
final String input = "#hello#adam@how@are@you";
final Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
System.out.println(matcher.group());
}
}
}