# Convert string to array with delimiter

**URL:** <https://www.ruby-forum.com/t/convert-string-to-array-with-delimiter/152579>\
**Category:** Ruby\
**Created:** [November 5, 2008, 10:06am UTC](https://www.ruby-forum.com/t/convert-string-to-array-with-delimiter/152579 "2008-11-05T10:06:16Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![on9west](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/o/6f9a4e/32.png) [@on9west](https://www.ruby-forum.com/u/on9west)\
**Post date:** [November 5, 2008, 10:06am UTC](https://www.ruby-forum.com/t/convert-string-to-array-with-delimiter/152579/1 "2008-11-05T10:06:16Z")

</div>

Dear all

I have the following string want to convert to arry

str="/dev/lis\_home\_712 2097152 1052656 1044496 51%  
/appl/lis/home2\n"

I use str.scan(/\w+/), which give the following result  
[“dev”, “lis\_home\_712”, “2097152”, “1052656”, “1044496”, “51”, “appl”,  
“lis”, “home2”]

However, I expect the result like this  
[“dev/lis\_home\_712”, “2097152”, “1052656”, “1044496”, “51%”,  
“/appl/lis/home2”]

Please advise on how to do it. Thank you.

---

<div class="post-metadata">

**Author:** ![on9west](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/o/6f9a4e/32.png) [@on9west](https://www.ruby-forum.com/u/on9west)\
**Post date:** [November 5, 2008, 10:11am UTC](https://www.ruby-forum.com/t/convert-string-to-array-with-delimiter/152579/2 "2008-11-05T10:11:34Z")

</div>

2008/11/5 Valentino L. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> I use str.scan(/\w+/), which give the following result

str.split( ’ ’ )

Farrel

---

<div class="post-metadata">

**Author:** ![on9west](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/o/6f9a4e/32.png) [@on9west](https://www.ruby-forum.com/u/on9west)\
**Post date:** [November 5, 2008, 10:14am UTC](https://www.ruby-forum.com/t/convert-string-to-array-with-delimiter/152579/3 "2008-11-05T10:14:30Z")

</div>

From: Valentino L. [[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)]

# However, I expect the result like this

# [“dev/lis\_home\_712”, “2097152”, “1052656”, “1044496”, “51%”,

# “/appl/lis/home2”]

# 

# Please advise on how to do it. Thank you.

read on string fxns, qri String#.  
here in this case you may use String#split

try first,

str.split

(note w/out an arg)

---

<div class="post-metadata">

**Author:** ![on9west](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/o/6f9a4e/32.png) [@on9west](https://www.ruby-forum.com/u/on9west)\
**Post date:** [November 5, 2008, 10:18am UTC](https://www.ruby-forum.com/t/convert-string-to-array-with-delimiter/152579/4 "2008-11-05T10:18:37Z")

</div>

2008/11/5 Valentino L. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> However, I expect the result like this  
> [“dev/lis\_home\_712”, “2097152”, “1052656”, “1044496”, “51%”,  
> “/appl/lis/home2”]
> 
> Please advise on how to do it. Thank you.

str.scan(/\S+/)  
or  
str.split(/\s+/)  
or  
str.split

Regards,

Park H.
