恢复替换()

时间:2018-01-18 19:42:54

标签: javascript replace

我想知道如何在我使用replace()之后取回原来的单词或字母。



origin

:




现在当我按下按钮时,字母O,E,T和N会根据需要改变。但现在我希望他们回到原来的状态。有人有任何想法吗?干杯!

3 个答案:

答案 0 :(得分:2)

在这种情况下,最好的方法是简单地保存文本的原始状态,然后恢复原状。

function myReplace() {
  var ele = document.getElementById("test");
  var str = ele.innerHTML;
  ele.setAttribute('data-orig', str);
  var res = str.replace("O", "!").replace("E", "#")
    .replace("T", "%").replace("N", "&");
  ele.innerHTML = res;
}

function myRestore() {
  var ele = document.getElementById("test");
  var str = ele.getAttribute('data-orig');
  ele.innerHTML = str;
}
<p id="test"> Olof Erik Thomas Niklas </p> 
<button onclick="myReplace()"> Replace it </button>
<button onclick="myRestore()"> Restore it </button>

答案 1 :(得分:0)

为什么不直接访问str变量?或者创建一个变量来存储原始值..

答案 2 :(得分:0)

替换字符是一种不可逆转的操作。如果您的字符串在执行第一个url = "http://www.esrl.noaa.gov/psd/data/correlation/amon.us.data" AMO_data_raw <- read.table (url, header = FALSE, skip = 1, nrow = length(count.fields(url))-6) headers <- c ("Year", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12) setnames(AMO_data_raw, headers) AMO_data_raw = melt(AMO_data_raw, id.vars = "Year") names(AMO_data_raw)[2] = "Month" names(AMO_data_raw)[3] = "AMO_Value" AMO_data_raw$Month = as.numeric(AMO_data_raw$Month) AMO_data_raw$AMO_Value= as.numeric(AMO_data_raw$AMO_Value) AMO_data_raw = subset(AMO_data_raw, AMO_data_raw$Year %in% time ) head(AMO_data_raw) Year Month AMO_Value 3 1950 1 0.113 4 1951 1 0.105 5 1952 1 0.174 6 1953 1 0.268 7 1954 1 0.229 8 1955 1 0.078 之前包含感叹号!,那么就无法将其与新添加的感叹号区分开来。

在您的情况下,输入字符串中没有替换字符。因此,您只需交换参数即可。

replace()