# Splitting

**URL:** <https://www.ruby-forum.com/t/splitting/184558>\
**Category:** Ruby\
**Created:** [March 4, 2010, 1:05pm UTC](https://www.ruby-forum.com/t/splitting/184558 "2010-03-04T13:05:56Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![DMG](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/5e9695/32.png) [@DMG](https://www.ruby-forum.com/u/DMG)\
**Post date:** [March 4, 2010, 1:05pm UTC](https://www.ruby-forum.com/t/splitting/184558/1 "2010-03-04T13:05:56Z")

</div>

Hi,

I suppose that:  
“.”.split(".")  
will give me array with two empty strings instead of empty array.

How can I do that?

Thanks,  
Dawid

---

<div class="post-metadata">

**Author:** ![DMG](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/5e9695/32.png) [@DMG](https://www.ruby-forum.com/u/DMG)\
**Post date:** [March 4, 2010, 1:36pm UTC](https://www.ruby-forum.com/t/splitting/184558/2 "2010-03-04T13:36:58Z")

</div>

#Ok, instead of  
irb(main):065:0\> “…text…”.split(".")  
=\> ["", “”, “”, “text”]

#I should do something like this:  
irb(main):066:0\> “…text…”.split(".",-1)  
=\> ["", “”, “”, “text”, “”, “”, “”]

Strange…

---

<div class="post-metadata">

**Author:** ![DMG](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/5e9695/32.png) [@DMG](https://www.ruby-forum.com/u/DMG)\
**Post date:** [March 4, 2010, 2:39pm UTC](https://www.ruby-forum.com/t/splitting/184558/3 "2010-03-04T14:39:36Z")

</div>

On Mar 4, 1:00 pm, DMG [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Hi,
> 
> I suppose that:  
> “.”.split(“.”)  
> will give me array with two empty strings instead of empty array.
> 
> How can I do that?

There is nothing before or after the period.

irb(main):001:0\> " . “.split(‘.’)  
=\> [” ", " "]  
irb(main):002:0\> “.”.split(‘.’)  
=\> []

---

<div class="post-metadata">

**Author:** ![DMG](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/5e9695/32.png) [@DMG](https://www.ruby-forum.com/u/DMG)\
**Post date:** [March 4, 2010, 3:29pm UTC](https://www.ruby-forum.com/t/splitting/184558/4 "2010-03-04T15:29:56Z")

</div>

$ ri String#split  
str.split(pattern=$;, [limit])  
If the limit parameter is omitted, trailing null fields are  
suppressed. If limit is a positive number, at most that number of  
fields will be returned (if limit is 1, the entire string is  
returned as the only entry in an array). If negative, there is no  
limit to the number of fields returned, and trailing null fields  
are not suppressed.
