呕心沥血

ǒu xīn lì xuè

lit. to spit out one's heart and spill blood (idiom)

to work one's heart out; blood, sweat and tears

呕

ǒu

vomit

心

xīn

heart

沥

lì

to drip

血

xuè

blood