'Why am I getting an blank character at the end of an element when randomly selecting an element from a word list [closed]

I have to hard code my selectedWord to avoid the blank character

Future<String> getData() async {
    try {
      return await rootBundle.loadString('text_file/four_words.txt');
    } catch (e) {
      throw (e.toString());
    }
  }
Future<String> val = getData();
val.then((value) {
  setState(() {
    dataString = value;
    var elements = dataString.split("\n");
    elements.forEach((element) {
      wordList.add(element);
      //debugPrint(element);
    });


_selectNewWord() {
    setState(() {
      selectedWord = wordList[_random.nextInt(wordList.length)];
      selectedWord=selectedWord[0]+selectedWord[1]+selectedWord[2]+selectedWord[3];
      var elements2 = selectedWord.split("");
      myList.clear();
      for (var element in elements2) {
        if (element.isNotEmpty) {
          myList.add(element);
        }
      }
    });
  }


Solution 1:[1]

I implemented dataString.replaceAll("\r\n", "\n").split("\n") and it solved the problem by removing the \r that was causing the extra item in the split list

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Golden Lion