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

:

现在当我按下按钮时,字母O,E,T和N会根据需要改变。但现在我希望他们回到原来的状态。有人有任何想法吗?干杯!
答案 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()