gpt4 book ai didi

java - 将句子解析为单词和标点符号

转载 作者:行者123 更新时间:2023-12-01 13:39:51 25 4
gpt4 key购买 nike

我需要解析类Sentence到单词和标点符号中(空格被视为标点符号),然后将其全部添加到常规 ArrayList<Sentence> 中.

例句:

A man, a plan, a canal — Panama!
A => word
whitespase => punctuation
man => word
, + space => punctuation
a => word
[...]

我尝试一次一个字符地阅读整个句子并收集相同的内容并创建新单词或新的 Punctuation来自这个集合。

这是我的代码:

public class Sentence {

private String sentence;
private ArrayList<Word> words;
private ArrayList<Punctuation> punctuations;

/**
* Constructs a sentence.
* @param aText a string containing all characters of the sentence
*/
public Sentence(String aText) {
sentence = aText;

int i = 0;
while (Character.isLetter(sentence.charAt(i))) { // I stuck here
i++;
}
}

也许其他方法更好?有什么建议吗?

如何解决这个问题?

最佳答案

一个简单的解决方案是定义您认为是标点符号的内容并将其移至标点符号列表中。

您可以将任何其他内容逐个字母地附加到字符串缓冲区。一旦遇到标点符号字符,您就存储前一个“单词”和标点符号。

使用 StringBuffer 附加字母以构建每个“单词”。

如果可以的话,最好使用 for 循环。然后,您可以检查是否有标点符号(添加前一个单词,添加标点符号,然后清除 StringBuffer)或将“字母”添加到 StringBuffer 中。

关于java - 将句子解析为单词和标点符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20926561/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com