【发布时间】:2021-12-23 02:00:18
【问题描述】:
我正在尝试从通过输入文件上传的文本文件中删除一个句子。我需要删除所有介于 '/' 和 '/' 之间的句子,所以 cmets 基本上是一行。还有所有单行 cmets,例如“//”,但我已经处理好了。为此,我不允许使用任何正则表达式或替换函数。有没有人可以帮助我?谢谢
class Inpute extends Component{
constructor(props){
super(props);
this.state = {
fileName: '',
fileContent: ''
};
}
handleFile = e =>{
const file = e.target.files[0];
const reader = new FileReader();
reader.readAsText(file);
reader.onload = () => {
this.setState({fileName: file.name, fileContent: reader.result});
if(reader.result.includes('//')){
var newText = reader.result
newText = newText
.split('\n')
.filter(x => !x.includes('\/\/'))
.join('\n')
this.setState({fileName: file.name, fileContent: newText})
}
}
reader.onerror = () =>{
console.log('File Error : ', reader.error)
}
}
【问题讨论】:
-
你能发布一个示例输入
-
.filter(x => !x.includes('/*') && !x.includes('*/')) -
如果您拥有的代码有注释,它将删除整行。例如,像
if (x === y) { // check if x equals y这样的行也会删除if语句。我不知道这是否重要。如果没有,那么您只需要检查该行是否包含两个/字符。
标签: javascript reactjs replace text-files