RosettaCodeData/Task/Determine-if-a-string-has-all-unique-characters/PascalABC.NET/determine-if-a-string-has-all-unique-characters.pas
2024-10-16 18:07:41 -07:00

11 lines
466 B
ObjectPascal

##
var input := |'', '.', 'abcABC', 'XYZ ZYX', '1234567890ABCDEFGHIJKLMN0PQRSTUVWXYZ'|;
foreach var s in input do
Writeln('''', s, '''', ' (Length ', s.Length, ') ',
String.Join(', ',
s.Select((c, i) -> (c, i))
.GroupBy(t -> t[0])
.Where(g -> g.Count() > 1)
.Select(g -> '''' + g.Key + '''(0X' + Ord(g.key).ToString('x') + ') [' +
String.Join(', ', g.Select(t -> t[1])) + ']')
.DefaultIfEmpty('All characters are unique.')));