I need to find all the files with .txt extension with their file size

How about:

IFS=$'\n'
for f in `du -hs *.txt`;do echo $f | sed 's/\(.*\)\.txt/\1/';done

The IFS part is necessary so that the for loop consumes the whole line at the same time. Please also note the backticks around the "du -hs *.txt" part of the command. The backtick button should be above your tab button.