나는이 문자열을 가지고 : $29.99
. 소수점 .
을 제거하고 부분 수 부분 99
을 <sup>
태그로 덮어 쓰려고합니다 : $29<sup>99</sup>
.문자열의 마지막 3 문자에 대한 루비 정규식
형식이 변경 될 수 있습니다. 소수점은 점 대신 쉼표가 될 수 있습니다 : ,99
.
보너스 : 별도로, 가변 길이 (R $, $, Rs 등) 일 수 있다는 점을 고려하여 통화 레이블을 추출하는 정규식.
나는이 문자열을 가지고 : $29.99
. 소수점 .
을 제거하고 부분 수 부분 99
을 <sup>
태그로 덮어 쓰려고합니다 : $29<sup>99</sup>
.문자열의 마지막 3 문자에 대한 루비 정규식
형식이 변경 될 수 있습니다. 소수점은 점 대신 쉼표가 될 수 있습니다 : ,99
.
보너스 : 별도로, 가변 길이 (R $, $, Rs 등) 일 수 있다는 점을 고려하여 통화 레이블을 추출하는 정규식.
str = '$29.99'
result = str.gsub(/\.(\d+)$/, '<sup>\1<sup>')
-1 루비에 OP 요청이 없습니다. –
@CharlesCaldwell 루비 버전을 추가하지 않았습니다. – xdazz
굉장! downvote를 upvote로 대체했습니다. –
1.9.3p385 :012 > "$29.99".gsub(/(\.|,)/,'<sup>').concat("</sup>")
=> "$29<sup>99</sup>"
과 통화 추출 :
1.9.3p385 :020 > ("USD>as$29.99" =~ /(.*?)\d.*/ ; $1)
=> "USD>as$"
이 아닌 모든 보너스 포인트 시나리오를 처리를 :
1.9.3p392 :009 > "$29.99".gsub(/(\d+)[,.](\d+)/, "\\1<sup>\\2</sup>")
=> "$29<sup>99</sup>"
1.9.3p392 :010 > "$29,99".gsub(/(\d+)[,.](\d+)/, "\\1<sup>\\2</sup>")
=> "$29<sup>99</sup>"
1.9.3p392 :011 > "R$29,99".gsub(/(\d+)[,.](\d+)/, "\\1<sup>\\2</sup>")
=> "R$29<sup>99</sup>"
무엇 정규식 지금까지 시도? –
http://rubular.com/을 시도해보십시오. :) – alfa
나는 노력하고있다. 그러나 나는 마지막 3자를 얻는 방법을 이해할 수 없다. – dee