## 루비 온 레일즈에서 split, strip, join 메소드 사용법(How to use split, join in Ruby on Rails)
해시태그를 구현하는 중에 split, strip, join 을 사용하게 되서 기록을 남긴다. input text field 에 "바나나, 딸기, 키위, 사과" 라고 적고 저장하면 바나나, 딸기, 키위, 사과 라는 각각의 해시태그가 만들어졌으면 했다. 그걸 위해 split 을 사용했다.
```ruby
text = "바나나, 딸기, 키위, 사과" #text field로 저장한 값
array_hashtag = text.split(",") # => ["바나나", "딸기", "키위", "사과"]
```
위와 같이 String에 있는 값들을 "," 단위로 쪼개 배열에 넣어준다. 쪼개서 배열에 들어갔으니 저 배열을 하나씩 해시태그로 저장하면 됐다. 근데 문제는 만약 사용자가 띄어쓰기를 잘못하면 어떻게 하나 라는 문제가 생겼다. 예를 들어. "바나나 ,딸기 , 사과, 키위 " 이런 식으로 말이다. 그런 문제를 해결하기 위해 strip 메소드를 사용했다.
```ruby
text = "바나나 ,딸기 , 사과, 키위 "
array_hashtag = text.split(",") # => ["바나나 ", "딸기 ", " 사과", " 키위 "]
array_hashtag.map! {|hashtag| hashtag.strip} # => ["바나나", "딸기", "사과", "키위"]
```
그리고나서 저장한 해시태그 전부를 출력하려고 하는데 대괄호, 각각의 따옴표를 삭제해서 출력하고 싶었다. 그래서 사용한 것이 join이다. (ActiveRecord의 join이 아니라 Array의 join이다.)
```ruby
text = "바나나 ,딸기 , 사과, 키위 "
array_hashtag = text.split(",") # => ["바나나 ", "딸기 ", " 사과", " 키위 "]
array_hashtag.map! {|hashtag| hashtag.strip} # => ["바나나", "딸기", "사과", "키위"]
array_hashtag.map {|hashtag| hashtag}.join(",") #=> "바나나, 딸기, 사과, 키위"
```
댓글
댓글 쓰기