如何导入、编辑和替换txt文件中的文本

How do I import, edit, and replace text in a txt file?

本文关键字:txt 替换 文件 文本 编辑 何导入 导入      更新时间:2023-09-26

在网页中使用客户端脚本(没有服务器代码),如javascript,我如何导入,编辑和替换文本文件中的文本?我只是试图使用两个变量(名称和IP地址),并在文本文件中替换它们。现有的文本文件很长,我想自动化这个过程。如果脚本能在每次提交时自动创建一个新的文本文件,那就太好了。谢谢!

下面是我的代码:

<html>
<head>
<title>TExt File Changer v1</title>
<script type="text/javascript">
function findaNamendReplaceAll() {
  var findaName = "Site_Name";
  var findaCIP = "192.168.0.5";
  var replaceaName = document.myInput.replaceWithName.value;
  var replaceaCIP = document.myInput.replaceWithCIP.value;
  var fulltexta = document.myInput.fulltext.value;
/* 
  var nr = new RegExp(findaName,"ig");
  var tmp = fulltexta.replace(/Site_Name/gi, replaceaName).replace(/192.168.0.5        /gi,replaceaCIP); 
  document.myInput.fulltext.value = tmp;
*/  
  document.myInput.fulltext.value = fulltexta.replace(/Site_Name/gi, replaceaName).replace(/192.168.0.5/gi,replaceaCIP);
}

var str     += ‘SECTION ethernet’/n;
   str      += ‘ETHERNET=UP’/n;
   str      += ‘BOOTP=server’/n;    
   str      += ‘HOSTNAME=Site_Name’/n;
   str      += ‘IPADDR=192.168.0.4’/n;
   str      += ‘NETMASK=255.255.255.0’/n;
   str      += ‘DNS=‘/n;
   str      += ‘DHCP_RANGE_L=192.168.0.20’/n;
   str      += ‘DHCP_RANGE_U=192.168.0.100’/n;
   str      += ‘SEARCH=‘/n;
   str      += ‘ZEROCONF=YES’/n;
   str      += ‘ETH0_ADD_DEFAULT=on’/n;
   str      += ‘ENDSECTION ethernet’/n;
   str      += ‘‘;
</script>
</head>
<body>
<form name="myInput" onsubmit="return false">
<h1>Configuration Tool</h1>
New Site Name: <input type="text" id="replaceWithName" name="replaceWithName" value="">
<br><br>
New Camera IP: <input type="text" id="replaceWithCIP" name="replaceWithCIP" value="">
<br><br>
<button onclick="findaNamendReplaceAll()">Go</button>
<br><br>
<textarea id="fulltext" name="fulltext" rows="20" cols="100">
SECTION ethernet
ETHERNET=UP
BOOTP=no
HOSTNAME=Site_Name
IPADDR=192.168.0.4
NETMASK=255.255.255.0
DNS=
DHCP_RANGE_L=
DHCP_RANGE_U=
SEARCH=
ZEROCONF=YES
ETH0_ADD_DEFAULT=on
ENDSECTION ethernet
</textarea>
<br>
<button onclick="document.getElementById('fulltext').value = ''">Clear</button>
<button onclick="document.getElementById('fulltext').value = str">Restore</button>
</form>
</body>
</html></pre>

只要遵守两个限制条件,就可以很容易地做到这一点。

1) windows上的Internet Explorer2)使用ActiveXObjects

我做了一个项目,需要在excel电子表格中找到各种数据。我的输入文件是一个手工编辑的json文件——指定文件名和路径之类的东西。一旦json被加载,我使用ActiveXObject来打开和控制Excel,就像在VBA程序中一样。

因此,我没有任何代码来从任意文件名加载任意数据。但是,这段代码应该足以让您入门。

注意:代码假设IE仍然给你一个完全限定的路径与<input type='file'/> Chrome, FF和Opera选择的任何文件只给你文件名-他们不告诉你它驻留在哪个文件夹。

function byId(e){return document.getElementById(e);}
function writeDataToFile()
{
    var mFSO = new ActiveXObject("Scripting.FileSystemObject");
    var mFile = mFSO.createtextfile(outputFilename);
    mFile.write( byId('outputTextArea').value );
    mFile.close();
    alert("text saved to '" + outputFilename + "'");
}