Ruby에서 문자열의 문자 범위를 바꾸려면 어떻게해야합니까? 예를 들어, TEH 문자열 Ruby에서 다양한 문자를 대체하려면 어떻게합니까?
hellothere
내가 문자열 내가 이런 짓을 했을까 방법
he####here
발생하는 두 개의 "#"를 포함하는 다섯을 통해 인덱스 위치에있는 문자를 바꾸려면
주어진?Ruby에서 문자열의 문자 범위를 바꾸려면 어떻게해야합니까? 예를 들어, TEH 문자열 Ruby에서 다양한 문자를 대체하려면 어떻게합니까?
hellothere
내가 문자열 내가 이런 짓을 했을까 방법
he####here
발생하는 두 개의 "#"를 포함하는 다섯을 통해 인덱스 위치에있는 문자를 바꾸려면
주어진?당신은 문자열의 범위를 얻고 새로운 캐릭터가 마지막 인덱스에 1을 더한 적은 최초의 인덱스에 대한 곱 설정하여 대체 할 수 :
def replace_in_string(str, replace, start, finish)
str[start..finish] = replace * (finish + 1 - start)
str
end
p replace_in_string 'hellothere', '#', 2, 5
# "he####here"
문자열에 방법을 추가 클래스는 적은 당신에게 하나 개의 인수를 줄 것이다 :
class String
def replace_in_string(replace, start, finish)
self[start..finish] = replace * (finish + 1 - start)
self
end
end
p 'hellothere'.replace_in_string '#', 2, 5
# "he####here"
String 클래스에 메서드를 추가하면 하나의 인수를 줄일 수 있습니다. –
Soudns는 좋은 생각입니다 ... 정확히 어떻게 String 클래스에 추가하겠습니까? –
거의 같은 방법으로, self에 대한 str 인수를 바꿉니다. 나는 갱신했다. –
항상 동일한 문자로 바꿔야합니까? –