A warning ahead: there are many different ways to achieve this in Rebola. Therefore, you will probably receive several different offers.
To get started, let's stick with your initial approach to using FIND.
When you use FIND with a series, what you get is a new view of the base series data, located at a different offset from the start of the series data.
Let's start with the example data:
>> line: copy "this is foo#and here comes a long bar"
== "this is foo#and here comes a long bar"
Let FIND character #in this line and refer to the result as POS:
>> pos: find line "#"
== "#and here comes a long bar"
, (, REST2) . ( , LINE):
>> rest: copy next pos
== "and here comes a long bar"
COPY/part. "/part" (try help copy) : " " ( ). , POS. :
>> ref: copy/part line pos
== "this is foo"
! :
pos: find line "#"
ref: copy/part line pos
rest: copy next pos
, PARSE:
parse line [copy ref to "#" skip copy rest to end]
. PARSE, "Parsing" REBOL/Core ( REBOL 2.3, - REBOL 2 3).
: "#" , #"#" Rebol.