我有一个输入字段,我可以在其中输入文本,我想用数字替换出现的元音。
例如 - (A,E,I,O,U - 1,2,3,4,5) 并向所有其他辅音添加“a”。
例如 - 输入字段接受“Victor 作为输入,页面上打印的内容是”Va3cata4ra
”。
到目前为止,我已经能够使用模板字面量并将变量传递给 setState
来让辅音在其末尾显示“a” .但是,如上所述,我在让元音显示其数值时遇到了问题。我试过 Switch
,if else
,出于某种原因,都没有用
export default class App extends Component {
state = {
mytext: ''
}
onChangeHandler = (event) => {
const newText = event.target.value;
const splitText = newText.split('');
let tempArr = []
for (let onye in splitText) {
else if (onye === 'e') {
onye.replace(parseInt('2'))
} else if (onye === 'i') {
onye.replace(parseInt('3'))
} else if (onye === 'o') {
onye.replace(parseInt('4'))
} else if (onye === 'u') {
onye.replace(parseInt('5'))
} else {
return onye
}
//This got the consonants to display a after each one
const raCon = `${splitText[onye]}a`
tempArr.push(raCon)
}
this.setState({
mytext: tempArr
})
预期结果将在每个辅音和对应于 (A,E,I,O,U)- (1,2,3, 4,5)
最佳答案
您可以采用替换函数并用字母替换 and 和具有替换值的对象。
function replace(string) {
return string.replace(/[aeiou]/gi, c => ({ a:1, e: 2, i: 3, o: 4, u: 5 }[c.toLowerCase()]));
}
console.log(replace('banana'));
关于javascript - 如何用数字替换字符串中出现的字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56537370/