tushar

tushar

How can I split a string only at spaces with unicode characters in it?

I am a newbie in Elixir and am trying to split String only at spaces the string contains unicode charcters too

String.split("Freude schöner Götterfunken", ~r/[^[:alnum:]-]/u, trim: true)

like above , this gives me a UnicodeConversionError , is there a way to do that ?

the output I want is

["Freude","schöner","Götterfunken"]

It would be great if someone could suggest something.

First 7 of 7 Posts! Switch mode

benwilson512

benwilson512

Author of Craft GraphQL APIs in Elixir with Absinthe

This works for me:

iex(1)> String.split("Freude schöner Götterfunken", ~r/[^[:alnum:]-]/u, trim: true)
["Freude", "schöner", "Götterfunken"]

Is your shell not in UTF8 perhaps?

stefanluptak

stefanluptak

If you want to split the string only at spaces, I would use this:

String.split("Freude schöner Götterfunken", " ", trim: true)

It’s working for me. Am I missing something?

kip

kip

ex_cldr Core Team

String.split("Freude schöner Götterfunken") would be preferred since it will use the Unicode word break algorithm which is much more flexible than breaking on an ASCII space character.

iex> String.split("Freude schöner Götterfunken") 
["Freude", "schöner", "Götterfunken"]

From the docs:

Divides a string into substrings at each Unicode whitespace occurrence with leading and trailing whitespace ignored. Groups of whitespace are treated as a single occurrence. Divisions do not occur on non-breaking whitespace.

tushar

tushar

When i try it on shell it gives me the error and when i call it via another method it breaks the sentence on space as well as the unicode characters .

I am using windows 10 , how do I make sure that the shell supports UTF-8 if not how do i make it UTF-8 compatible ?

Any useful link to go thru ?

tushar

tushar

The requirement is I dont only have to split on spaces but also have to ignore symbols except hyphen while splitting.

tushar

tushar

The solution is elegant but I also have to maintain that I ignore special characters as in symbols while splitting hence the need for a regex.

tushar

tushar

Thanks a lot for all your help ,

My requirement was I have to split a string on spaces discarding all the symbols except a few special characters like a ‘-’ , after lot of trial and errors the below regex solves it ,

String.split(sentence, ~r/[^[:alnum:]-]/ui, trim: true)

This is a great forum and hope it will help someone in need :slight_smile:

Thanks again for the help , I come from Java and have started on elixir , you can imagine the pain its a whole new world for me , will post questions if any .

Where Next?

Trending in Questions Top

jonnycharles
I’m in search of an Elixir library that offers PDF generation capabilities similar to Ruby’s Prawn. While there have been discussions abo...
New
spammy
I’m looking to build a personal workflow to quickly deploy web applications written in elixir/phoenix, for local consumption (ie not on t...
New
silverdr
Using Phoenix.LiveView.TagEngine as an EEx.Engine is deprecated! To compile HEEx, use Phoenix.LiveView.TagEngine.compile/2 instead. Sta...
New
saveman71
Hello ! We want new/edit form pages to POST/PUT to their own URL rather than the resources REST defaults (post /things, put /things/:id)...
New
dli
Before I dive in myself, did anyone successfully sprinkle Hologram into their existing LiveView app? Looking for hints regarding: Addi...
New
bottlenecked
Hi all, I wanted to ask how the community is dealing with post-release steps. Today we have Ecto migrations, which make sure that the db...
New
michallepicki
I am using Oban and occasionally, shortly after a deployment, a handful of jobs can fail because of dependency on other parts of the syst...
New

Other Trending Topics Top

JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
ausimian
Emily is an Elixir library that runs Nx computations on Apple’s MLX. Install it as the default Nx backend and Nx, defn, Axon, Nx.Serving,...
New
type1fool
I just stumbled on a newly redesigned elixir-lang.org. :tada: It looks like @Software_Mansion did the work, and I think it is generally a...
New
akoutmos
@hugobarauna and I (Alex Koutmos) have been hard at work on writing a book on Nerves that takes you from simply blinking LEDs to building...
New

We're in Beta

About us Mission Statement