如何从位于 2 个字符之间的 char 数组中获取不确定长度的单词?

how to get a word of indeterminate length from an array of char located between 2 characters?

示例:

String phrase = "I want the word between /and? but how?";

我需要:

字符串词=“和”;

即使多了个“/”和“?”我需要介于两者之间的那个。

我正在使用 java 1.8

如果我处理得当,单词之间不会有空格,但如果我能以处理和没有空格的方式学习,那就太好了。

让我们使用 Java 正则表达式。

您没有指定“/”字之间或字与“?”之间是否有空格。那么让我们假设结构是:/word? (单词粘在“/”和“?”上,“/”和“?”每组只有一个单词。

Pattern pattern = Pattern.compile("/[a-zA-Z]+\?");
Matcher matcher = pattern.matcher("/one?  /two?"); //Your Text Here

String word;
while (matcher.find()) {
    word = matcher.group();
    word = word.replace("/", "");
    word = word.replace("?", "");
}

如果您已经期望在“/”和“?”之间多一个单词集,您应该创建一个列表并在其中添加字符串“word”:

Pattern pattern = Pattern.compile("/[a-zA-Z]+\?");
Matcher matcher = pattern.matcher("/one?  /two?"); //Your Text Here

List<String> words = new ArrayList<>();
String word;
while (matcher.find()) {
    word = matcher.group();
    word = word.replace("/", "");
    word = word.replace("?", "");
    words.add(word);
}