在不删除标记的情况下解析字符串
Parse String without removing the token
我有一个字符串要在 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());
}
您可以使用正则表达式轻松解决此问题。
仅考虑您提供的信息,这可能是一个可行的解决方案。
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());
}
}
}
我有一个字符串要在 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());
}
您可以使用正则表达式轻松解决此问题。
仅考虑您提供的信息,这可能是一个可行的解决方案。
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());
}
}
}