g | x | w | all
Bytes Lang Time Link
037Ruby250522T083809ZValue In
004Uiua 0.17.0dev.1250520T011450ZTbw
011JavaScript V8250520T065154Zl4m2
002Japt250520T160153ZShaggy
075Python 3.8 prerelease250520T014151Zsquarero
028JavaScript V8250520T040440ZSteve Be

Ruby, 37 bytes

Abuses the fact that $. (counts the number of lines read from STDIN) defaults to 0 for some pure-punctuation number shenanigans.

-~$. evaluates to 1, which I check against __=~/$/ which gets the position of the end of the non-pronunciation string (aka string length). If they are the same, it assigns that string to a 0-length slice of the pronunciation string, which is the same as a basic insert. If that input isn't a 1-length string, it tries to assign to a false-length slice, which errors out.

->__,_{_[9,-~$.==(__=~/$/)&&$.]=__;_}

Attempt This Online!

Ruby, 20 bytes

Assumes first input is always non-pronunciation characters only and the second input is always pronunciation characters only.

->__,_{_[9,$.]=__;_}

Attempt This Online!

Uiua 0.17.0-dev.1, 6 4 bytes SBCS

♭(⍉)

Try on Uiua Pad!

Takes "♭⍉" and "()" in an array (per the comment on the post) on the stack and returns the source code for only that input.

♭⍉ interleaves the two strings. The parentheses are superfluous.

JavaScript (V8), 11 bytes

f=$=>_=>$+_

Try it online!


Python 3, 59 bytes

lambda	x ,y :x .replace ( ' ' , ' %c ' [ :3 ] ) %tuple (y )

Try it online!

Japt, 2 bytes

Pretty trivial in Japt; takes input as an array of 2 strings, sorts by index (which maintains the original order), and outputs an array of characters.

n,

Try it

Python 3.8 (pre-release),  150   141  75 bytes

-9 bytes by aliasing filter and str.isalnum.
-66 bytes by Mukundan314. What the heck.

exec(c:="sorted(d:='exec(c:=%r) '%c,key=str.isalpha)==[*input()]>print(d)")

Try it online!

Template for golfing this code

JavaScript (V8), 28 bytes

($,_)=>_.replace(/\./,'.'+$)

Try it online!

I'm a little bit shocked that I found a solution, I'm pretty terrible at quines.