Разбиение длинного предложения на короткое, когда в Java найдено определенное слово - PullRequest
0 голосов
/ 08 июня 2011

Greetings All;

У меня есть LinkedList типа String, который содержит некоторые слова, такие как [от, до, затем, однако], и у меня есть текстовый файл, который содержит длинные предложения.то, что я хочу сделать, это разделить эти предложения на более короткие предложения, когда будет найдено одно из вышеуказанных слов.

то, что я сделал до сих пор, я создал связанный список, содержащий слова, и другой связанный список, которыйсодержать длинные предложения в файле.Я не знаю, как разбить длинное предложение?

Я пробовал это:

int indexofsw = 0;
       for (int k = 0; k < LongSentence.size(); k++) {
                for (int j = 0; j < SWords.size(); j++) {
                    if (LongSentence.get(k).contains(SWords.get(j))== true) {
                        indexofsw = LongSentence.get(k).indexOf(SWords.get(j));
                        System.out.println(LongSentence.get(k).substring(k,indexofsw));
                        break;

                    }
                }
            }

, но оно не возвращает более короткое предложение.

Любые идеипожалуйста

Ответы [ 3 ]

1 голос
/ 08 июня 2011

test.java, чтобы начать:

public class test{
  public static void main(String[] args){
    String[] splitWords = {"to", "in", "from", "then"};
    String str = "this from that";
    String[] tmp;
    for (String splitTkn : splitWords){
      tmp = str.split(splitTkn);
      if (tmp.length > 1){
        System.out.println(tmp[0].trim());
        System.out.println(tmp[1].trim());
      }
    }
  }
}

вывод:

this
that
0 голосов
/ 09 июня 2011

Попробуйте использовать заменить:

public class test {
  public static void main(String[] args){
    String[] splitWords = {"to", "in", "from", "then"};
    String string = "this from that";
    for (String splitWord : splitWords) {
      string = string.replace(" " + splitWord + " ", System.getProperty("line.separator"));
    }
    System.out.println(string);
  }
}

выход:

this
that
0 голосов
/ 08 июня 2011

Ты имеешь в виду как?

Set<String> wordsToRemove =
String sentence =
List<String> words = Arrays.asList(sentence.split(" "));
words.removeAll(wordsToRemove);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...