The R5RS function string-append is the de-facto answer here:
> (string-append"Some ""text ""and"" stuff")
"Some text and stuff"
string-append will always allocate a new string. SRFI-13 defines string-append/shared which is allowed to share storage with its parameters. Also, if you have a list of strings you want to combine, SRFI-13 defines string-concatenate and string-concatenate/shared, which looks like this:
>(string-concatenate'("Some ""text ""and"" stuff"))
"Some text and stuff"
The /shared variants bear some discussion. In the examples above, /shared will never reuse a buffer because we're using string literals. Well almost never. /shared may reuse a buffer in the case where you give it a single argument: