How to split a string with multiple delimeter


#1

Hello Guys,

I want to split a text by using mutiple delimeters like Space and NewLine?
hier is an example:
" Hello World.
I am UiPath robot."
I tried to use Split(String," ") but it would put “World.I” together.
Any Idea how I can use the " " and Environment.Newline as seperator at the same time?

Thanks in advance,
Ayyoub


#2

@ayyoub SPlit text wrt to newline first and then split each line with wrt to space.


#3

Hello Manjuts90,

That means I will need two arrays to split each one for a line?
Because I wanted to use only one array, so that I can get easelly the first word or the last one for example.


#4

Hi,
Refer this. You can change the delimiters accordingly. The text file contains the content which you gave. test.xaml (6.9 KB) Hope it is helpful.
Thanks.


#5

@ayyoub Try below one u will get output but u get empty elements in array

System.Text.RegularExpressions.Regex.Split(UrStringVariable,"(Environment.NewLine|\s)")


#6

Thanks you for this example,
I tried this and it worked, hier I am able to add different seperatot like " " or “-” or even Environment.NewLine
I have one question: Could you explain me why we write: ,StringSplitOptions.None?

thanks again


#7

The option " StringSplitOptions.None " is the default, which means that if two of your specified delimiter are next to each other, you’ll get an element in the array that contains an empty string. The alternative choice is "StringSplitOptions.RemoveEmptyEntries ", which means that a delimiter next to another will be disregarded, and you’ll only get array elements that have non-empty contents.


#8

Thanks for this alternative solution,
I prefere to use Sring.split({" ", Einvironment.NewLine},StringSplitOptions.None)

But thanks a lot for your help.
I apreciate it


#9

You rock,
Thanks a lot for your quick responses.
Apreciate it,


#10

I’m back to this post and I have one question:
I found this example in the Training, let’s suppose we have this String: Str= “ABCD #12345 is your ID”

So now I need to retreive only the number after the # and I tried this:
Number (is a String) = Str.Split("#")(1).ToString.Split(" ")(0).ToString and it didn’t work.

The Solution in the Training was : Str.Split("#".ToCharArray)(1).Split(" ".ToCharArray)(0).ToString

Could you please tell me why my solution didn’t work? and why we need to add this (ToChararray)?

Thanks


#12

Hi ,
As you are splitting the string, the output will be of character array. toCharArray breaks a string and returns a char array containing splitted characters which the string is composed of. The variable Number which you are storing is string so while splitting the character or string should reside on it.
Thanks,


#13