I just came across this sentence:
日本語を上手に話すのは難しい。
While I do understand the meaning overall, I am confused as for why it's 話すのは instead of 話すは. If anybody could explain what のは means, that'd be really helpful!
In this case の is a nominalizer. Basically turns the sentence it precedes into a noun equivalent.
In your example, basically the の turns the part before into "the (thing of) speaking Japanese well" and the part after is just "is difficult". The は in between is just the usual topic particle は (the topic being the whole thing of speaking Japanese well).
You can do so also with other particles, not just は. For example:
のは=の+は
<日本語> は むずかしいです。 Japanese is difficult. <日本語を話すの>は むずかしいです。To speak Japanese is difficult.
のが=の+が
<勉強>が好きです。 I like studying. <日本語を勉強するの> が好きです。 I like to study Japanese.
のを=の+を
<たばこ>を やめます。 I quit smoking. <会社でたばこをすうの>を やめます。 I quit smoking in the office.
The examples above are taken from here. Also I just found a possibly related question here on this website.