A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://codegolf.stackexchange.com/questions/123685/covfefify-a-string below:

code golf - Covfefify a string

Lexurgy, 288 286 281 bytes

Docs here.

Lexurgy is an online tool meant for conlangers (people who make constructed languages) to apply sound changes to their conlangs via a series of programmable rules. As such, this tool involves many string operations.

Class v {a,e,i,o,u}
Class c {p,t,k,f,s,c,b,d,g,v,z,g,h,j,l,m,n,q,r,w,x}
a:
@c *=>@c ;/$ @c* @v* _//{$ _,$ @c _}
b:
@c=>* /; _
c:
{@v,@c}=>* /; @v {@v,@c}* _
* {{p,t,k,f,s,c,x},{b,d,g,v,z,g,x}}$1=>$1 {{b,d,g,v,z,g,x},{p,t,k,f,s,c,x}}/_ ;
e:
@c$1 ;=>; $1
f:
(@c @v)$1=>$1 $1/; _
;=>*

Ungolfed:

Class vowel {a,e,i,o,u}
Class unvoiced {p,t,k,f,s,c}
Class voiced {b,d,g,v,z,g}
Class consonant {@unvoiced,@voiced,h,j,l,m,n,q,r,w,x}

# find first consonant after first vowel
part-1:
 @consonant * => @consonant ; / $ @consonant* @vowel* _ // {$ _, $ @consonant _}

romanizer-a:
 unchanged

# delete the consonant after the seperator
part-2:
 @consonant => * / ; _

romanizer-b:
 unchanged

# remove everything except the second vowel
part-3:
 {@vowel, @consonant} => * / ; @vowel {@vowel, @consonant}* _

romanizer-c:
 unchanged

# voicings
part-4:
 * @voiced$1 => $1 @unvoiced / _ ;
 * @unvoiced$1 => $1 @voiced / _ ;

romanizer-d:
 unchanged

# swap mapped consonant and seperator
part-5:
 @consonant$1 ; => ; $1

romanizer-e:
 unchanged

# duplicate the `fe`
part-6:
 (@consonant @vowel)$1 => $1 $1 / ; _

romanizer-f:
 unchanged

# remove the seperator
part-7:
 ; => *

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4