| Bytes | Lang | Time | Link |
|---|---|---|---|
| 021 | AWK | 250807T165007Z | xrs |
| 016 | Uiua | 231104T180347Z | chunes |
| 058 | TIBasic | 230102T010354Z | Youserna |
| 005 | Vyxal s | 230101T183507Z | pacman25 |
| 029 | Arturo | 230101T152406Z | chunes |
| 031 | Factor | 210327T233850Z | chunes |
| 006 | 05AB1E | 200412T133440Z | user9206 |
| 087 | Excel | 210327T144633Z | Axuary |
| 102 | naz | 200412T222122Z | sporebal |
| 007 | Japt v2.0a0 | 201116T082503Z | Shaggy |
| 005 | Stax | 201116T074228Z | Razetime |
| 007 | Brachylog | 200518T234613Z | Unrelate |
| 042 | JavaScript V8 | 200518T145757Z | Yaroslav |
| 019 | Ruby p | 200517T181408Z | Kirill L |
| 012 | Pyth | 200517T175607Z | Mukundan |
| 006 | Jelly | 200412T150929Z | Jonathan |
| 015 | CJam | 200503T104211Z | lyxal |
| 016 | Keg ir | 200413T003739Z | user9206 |
| 030 | PowerShell | 200423T145519Z | Elgirhat |
| 041 | PHP | 200414T154559Z | Kaddath |
| nan | APL NARS2000 0.5.13.0 | 200414T153646Z | jimfan |
| 026 | JavaScript ES6 | 200412T143812Z | Arnauld |
| 018 | Perl 5 p | 200413T193238Z | Xcali |
| 031 | Ruby | 200413T002525Z | Aaron Ch |
| 012 | Charcoal | 200412T220213Z | Neil |
| 055 | Python 3 | 200412T134344Z | Noodle9 |
| 043 | Python 2 | 200412T192035Z | dingledo |
| 061 | Python 3 | 200412T190344Z | Param Si |
| 034 | Haskell | 200412T184959Z | ovs |
| 020 | K oK | 200412T182947Z | Galen Iv |
| 052 | C gcc | 200412T142218Z | newbie |
| 014 | sed | 200412T145440Z | Mitchell |
| 008 | Retina | 200412T135507Z | the defa |
| 014 | APL Dyalog | 200412T140448Z | Uriel |
| 026 | Erlang escript | 200412T135002Z | user9206 |
| 043 | Python 3 | 200412T134452Z | Surculos |
| 066 | SNOBOL4 CSNOBOL4 | 200412T134347Z | Giuseppe |
| 033 | Red | 200412T134334Z | Galen Iv |
| 015 | J | 200412T133734Z | Jonah |
Uiua, 16 bytes
⍜↘(▽¬∊,"aeiou")1
⍜↘(▽¬∊,"aeiou")1
⍜↘( )1 # apply (...) to the input except the first letter
▽¬∊,"aeiou" # remove vowels
TI-Basic, 58 bytes
Input Str1
sub(Str1,1,1
For(I,2,length(Str1
If not(inString("AEIOU",sub(Str1,I,1
Ans+sub(Str1,I,1
End
Ans
Takes input as all capital letters (which is hopefully allowed).
Factor, 31 bytes
[ 1 cut "aeiou"without append ]
Explanation
It's a quotation (anonymous function) that takes one string as input and leaves one string as output. Assuming "potato" is on top of the data stack when this quotation is called...
1Push one to the data stack. Stack:"potato" 1cutCut a sequence into two pieces at a given index. Stack:"p" "otato""aeiou"Push a string to the data stack. Stack:"p" "otato" "aeiou"withoutRemove elements from NOS (next on stack) that are in TOS (top of stack). Stack:"p" "tt"appendConcatenate two strings. Stack:"ptt"
05AB1E, 6 bytes
ćsžMм«
Explanation
Input (e.g.). potato
ć Head extract. otato, p
s Swap . p, otato
žM Vowels . p, otato, aeiou
м Remove . p, tt
« Concatenate . ptt
Implicit output .
Excel, 87 bytes
=LET(q,SEQUENCE(LEN(A1)),x,MID(A1,q,1),CONCAT(IF(ISERROR(FIND(x,"aeiou"))+(q=1),x,"")))
Hopefully this link works. Try it here
naz, 102 bytes
2x1v2a6m8m1a2x2v4a2x3v4a2x4v6a2x5v6a2x6v1x1f1r3x1v2e3x2v1e3x3v1e3x4v1e3x5v1e3x6v1e1o1f0x1x2f0a0x1r1o1f
Works for any null-terminated input string.
Explanation (with 0x instructions removed)
2x1v # Set variable 1 equal to 0
2a6m8m1a2x2v # Set variable 2 equal to 97 ("a")
4a2x3v # Set variable 3 equal to 101 ("e")
4a2x4v # Set variable 4 equal to 105 ("i")
6a2x5v # Set variable 5 equal to 111 ("o")
6a2x6v # Set variable 6 equal to 117 ("u")
1x1f # Function 1
1r # Read a byte of input
3x1v2e # Goto function 2 if it equals variable 1
3x2v1e3x3v1e3x4v1e3x5v1e3x6v1e # Jump back to the start of the function
# if it equals variable 2, 3, 4, 5, or 6
1o1f # Otherwise, output it, then call the
# function again
1x2f # Function 2
0a # Add 0 to the register
1r1o # Output the first byte of input
1f # Call function 1
Brachylog, 7 bytes
h|b;Ḅ∋ᵛ
| The output is
h the first element of the input,
| or
∋ᵛ some shared element of
|b the input without its first element
;Ḅ and the lowercase consonants.
Pyth, 12 bytes
+hQ-tQ"aeiou
Explanation
+hQ-tQ"aeiou
tQ : Everything except first element of evaluated input
- "aeiou : Remove all occurrences of a, e, i, o and u from the string
+hQ : Prepend first element of evaluated input
Jelly, 6 bytes
Ḣ;ḟØẹ$
How?
Ḣ;ḟØẹ$ - Link: list of characters, W
Ḣ - head & yield
$ - last two links as a monad - i.e. f(rest of W)
ḟ - filter discard:
Øẹ - lower-case vowels
; - (head of W) concatenate (f(rest of W))
CJam, 15 bytes
l_0=\1>"aeiou"-
It's 15 bytes because there is no better way to push all those vowels.
Explained
l_0=\1>"aeiou"-
l_ e# Take the input and duplicate it: [input, input]
0= e# From the input, take the first character: [input, input[0]]
\ e# Swap the top two items: [input[0], input]
1> e# Drop the first character: [input[0], input[1:]]
"aeiou" e# Push the string "aeiou": [input[0], input[1:], "aeiou"]
- e# Remove all occurances of the above string from the input[1:] and print.
PHP, 41 bytes
<?=preg_replace("/\\B[aeiou]/","",$argn);
I wanted to find an original solution but it ends up like everyone's regex.. Deception is my middle name
APL (NARS2000 0.5.13.0), 20 unicode char (so 20 byte or 40 byte?)
(↑,((~∘'aeiou')1∘↓))
Sample output:
(↑,((~∘'aeiou')1∘↓)) 'i'
i
(↑,((~∘'aeiou')1∘↓)) 'ate'
at
(↑,((~∘'aeiou')1∘↓)) 'potato'
ptt
(↑,((~∘'aeiou')1∘↓)) 'ksboejqfgcrauxpwivtzndlhmy'
ksbjqfgcrxpwvtzndlhmy
(↑,((~∘'aeiou')1∘↓)) ''
Thanks to the tacit feature added lately.
Since APL code chars are unicode chars, I am not sure if one char should be counted as two byte or not.
JavaScript (ES6), 27 26 bytes
Saved 1 byte thanks to @Neil
Returns a list of characters.
s=>s.match(/^.|[^aeiou]/g)
Ruby, 31 bytes
->x{x[0]+x[1..].tr('aeiou','')}
Needs to be run on Ruby 2.6 or above, since it uses an endless range.
(TIO is on 2.5.5, so it doesn't work there.)
Charcoal, 12 bytes
ΦS¬∧κ№aeiouι
Try it online! Link is to verbose version of code. Explanation:
S Input string
Φ ¬ Exclude characters where
№aeiouι Character is a vowel
∧κ And index is not zero
Implicitly print
Python 3, 57 55 bytes
Saved 2 bytes thanks to ovs!!!
lambda s:s[0]+''.join(c for c in s[1:]if{c}-{*'aeiou'})
C (gcc), 57 56 52 bytes
Time to roll out some magic numbers!
Thanks @Arnauld for even better magic numbers!
f(char*a,char*b){for(*b++=*a;*b=*++a;)b+=4373%*a&1;}
Retina, 15 13 8 bytes
0T1,`v`_
Transliterates lowercase vowels into nothing (_) in the 0th in 0-indexing match of the implicit regex that matches the entire string, after index 1 (1,).
Erlang (escript), 26 bytes
f([H|T])->[H]++T--"aeiou".
Explanation
f([H|T])-> % Match the head & tail of the input string.
[H] % Wrap the head in a list,
++T % Append the tail
--"aeiou". % with all vowels removed.
Python 3, 44 43 bytes
lambda a,*s:[a]+[c[c in"aeiou":]for c in s]
Input: Characters of the word. E.g f("a", "t", "e")
Output: A list of characters.
SNOBOL4 (CSNOBOL4), 66 bytes
INPUT LEN(1) . F REM . I
V I ANY('aeiou') =:S(V)
OUTPUT =F I
END
J, 15 bytes
{.,'aeiou'-.~}.
Straightforward:
{.head...,catted with...'aeiou'-.~vowels, set minused from...}.tail