# Extracting information from "john-2222-8888@domain.com"

**URL:** <https://www.ruby-forum.com/t/extracting-information-from-john-2222-8888-domain-com/151799>\
**Category:** Ruby\
**Created:** [October 25, 2008, 11:44pm UTC](https://www.ruby-forum.com/t/extracting-information-from-john-2222-8888-domain-com/151799 "2008-10-25T23:44:06Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![adistarmid](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/f14d63/32.png) [@adistarmid](https://www.ruby-forum.com/u/adistarmid)\
**Post date:** [October 25, 2008, 11:44pm UTC](https://www.ruby-forum.com/t/extracting-information-from-john-2222-8888-domain-com/151799/1 "2008-10-25T23:44:06Z")

</div>

Hello,

I’m wondering how you’d extract information from an email address like  
“removed\_email\_address@domain.invalid” to get these results from that email:

@player\_id = 2222  
@game\_id = 8888

I’m thinking it’s something along the lines of:

email = removed\_email\_address@domain.invalid  
@player\_id = email.gsub(…)  
@game\_id = email.gsub(…)

Any ideas what belongs in the gsubs?

---

<div class="post-metadata">

**Author:** ![adistarmid](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/f14d63/32.png) [@adistarmid](https://www.ruby-forum.com/u/adistarmid)\
**Post date:** [October 25, 2008, 11:52pm UTC](https://www.ruby-forum.com/t/extracting-information-from-john-2222-8888-domain-com/151799/2 "2008-10-25T23:52:01Z")

</div>

> @game\_id = email.gsub(…)
> 
> Any ideas what belongs in the gsubs?

Sounds more like a job for regexp pattern matching:

```
@player_id, @game_id = email.match(/.+-(\d+)-(\d

```

+)@domain.com/).captures  
=\> [“2222”, “8888”]

```
@player_id
=> "2222"

@game_id
=> "8888"

```

You can get more specific with the regexp pattern; the one above I  
just threw together quickly.

---

<div class="post-metadata">

**Author:** ![adistarmid](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/f14d63/32.png) [@adistarmid](https://www.ruby-forum.com/u/adistarmid)\
**Post date:** [October 26, 2008, 12:10am UTC](https://www.ruby-forum.com/t/extracting-information-from-john-2222-8888-domain-com/151799/3 "2008-10-26T00:10:29Z")

</div>

That works perfectly. Thank you, Matthew!!

---

<div class="post-metadata">

**Author:** ![adistarmid](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/f14d63/32.png) [@adistarmid](https://www.ruby-forum.com/u/adistarmid)\
**Post date:** [October 26, 2008, 1:20am UTC](https://www.ruby-forum.com/t/extracting-information-from-john-2222-8888-domain-com/151799/4 "2008-10-26T01:20:25Z")

</div>

Bob S. wrote:

> “removed\_email\_address@domain.invalid”

C:\>irb --prompt xmp  
player,game = “removed\_email\_address@domain.invalid”.split(/[-@]/)[1,2]  
==\>[“2222”, “8888”]  
player  
==\>“2222”  
game  
==\>“8888”
