Q 상호명 뒤의 3글자를 ***

돌발퀴즈~ 개인정보 관련해서 상호명 뒤의 3글자를 ***로 보이게 하고 싶습니다. 아리랑상사 = 아리*** 우리온세상약국 = 우리온세*** 이렇게 하려면 <%= item.??? %> ???을 어떻게 하면 좋을까요? 페이스북 그룹의 민동국님의 글을 옮겨 적었습니다.
by Wagurano 146 
목록보기

A 답변 목록

0 "아리랑상사".gsub(/.{,3}$/) {|s| "*" * s.length} 이런 루비 코드로 하면 되네요.
Wagurano님이 3년 이하전에 작성함.
0 gsub 때리는 루비 코드를 그냥 view template에 넣지 않고 app/helpers를 활용하거나(이쪽을 추천), 비즈니스 로직에서 쓰일 것 같으면 model에 넣을 수도 있습니다.
Wagurano님이 3년 이하전에 작성함.
0 이런경우엔 gsub말고 sub쓰세요. `.sub(/.{3}$/, "***")` 상호가 3글자 이하일때가 좀 걱정되는데..[..]
Wagurano님이 3년 이하전에 작성함.
0 이런 방법도 있었네요! 항목을 오른쪽 3개 가리려면 <%= item[0..-4]+"***" %> 이름을 왼쪽 2개만 보여주려면 <%= item[0..1]+"*" %> 감사합니다!!
Wagurano님이 3년 이하전에 작성함.
0 [0..-4] 보다는 [0...-3] 이 좀더 읽기는 편하겠네요. 3글자 미만일경우 원래 글자는 2글자인데 별표는 3개 나오는 문제가 있을거 같더라구요.
Wagurano님이 3년 이하전에 작성함.
0 https://gist.github.com/wagurano/2980abd1d8ef778f67b4 printf "%.3s***", "분당상가" # %포맷 점 뒤에 3자리로 제한, s는 문자열 앞의 세글자만 보여주기는 쉬운데 뒤에 세글자를 하려면 좀 더 생각해 봐야겠습니다. ==> printf "%.#{l.length-3}s***", "아리랑상사" ## 민동국님의 퀴조로 댓글이 흥하니 좋네요.
Wagurano님이 3년 이하전에 작성함.
0 으음.. "%.#{[size - 3, 0].max}s***"%"아리랑상사"
Wagurano님이 3년 이하전에 작성함.