Как работать со строкой? - PullRequest
0 голосов
/ 18 июля 2011

У меня есть строка с электронными письмами (имя, фамилия, адрес электронной почты):

@emails = "Nina Beeu luda@hotmail.com, Vasilina Korute valaj@kos.co.uk, Hikote Ewefs valaj@kos.co.uk, 
Egert Erm papa@sasee.ee, Sambuka Ioas valaj@kprivet.com, Vanish Kiki sasa@sas.com, Inoke Xxx saop@hot.ee"

Мне нужно извлечь из этой строки подстроку: имя, фамилию и адрес электронной почты и вставить их в таблицу:

<table border=1>
  <tr>
    <td>
        Name
    </td>
    <td>
        Surname
    </td>
    <td>
        Email
    </td>
  </tr>
</table>

Как я могу это сделать?

Ответы [ 2 ]

1 голос
/ 18 июля 2011
<table>
  <% @emails.split(", ").each do |chunk| %>
    <tr>
      <% ["Name", "Surname", "Email"].zip(chunk.split(" ")).each do |data| %>
        <td><%= data.join(": ")</td>
      <% end %>
    </tr>
  <% end %>
</table>
1 голос
/ 18 июля 2011
@emails.split(/,\s+/).each do |details|
  name, surname, email = details.split(" ")
  # do your html creaty thing here
end

Более конкретно, вы можете сделать это в erb:

<table border=1>
  <% @emails.split(/,\s+/).each do |details| %>
    <% name, surname, email = details.split(/\s+/) %>
    <tr>
      <td><%= name %></td>
      <td><%= surname %></td>
      <td><%= email %></td>
    </tr>
  <% end %>
</table>

И вариант в хамле:

%table(border=1)
  - @emails.split(/,\s+/).each do |details|
    %tr
      - details.split(/\s+/) do |detail|
        %td= detail
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...