我正在尝试替换txt文件中的多个单词。
有两行的示例如下:
phone number: 123 addr: xyz
phone no: 456 home address: abc
假设我想用phonenum和addr替换“phone number”和“phone no”
目前我只知道如何运行多个sed命令,我正在寻找一些指导来找到一种更有效的方法。
谢谢你!
使用Perl,使用散列,散列的键是要替换的单词,值是它们所需的替换。连接到管道上的键串用作替换操作符s///g
中的模式,使用/g
修饰符可以对每行启用多个替换。
echo "phone number: 123 addr: xyz\nphone no: 456 home address: abc" > in.txt
perl -lpe '
BEGIN {
%re = (
q{phone number} => q{phonenum},
q{phone no} => q{phonenum},
q{addr} => q{address1},
q{address} => q{address1},
);
$re_str = join q{|}, keys %re; # "phone number|phone no|addr|address"
}
s/\b($re_str)\b/$re{$1}/g;
' in.txt > out.txt
在文件out.txt
中输出:
phonenum: 123 address1: xyz
phonenum: 456 home address1: abc
Perl one liner使用以下命令行标志:-e
:告诉Perl在线查找代码,而不是在文件中-p
:在输入上一次循环一行,默认情况下将其分配给$\uu
。在每次循环迭代后添加print$\uz
-l
:在内联执行代码之前,先去掉输入行分隔符(“\n”
,默认为*NIX),然后在打印时附加它。
q{…}
:指定单引号字符串的另一种方法(
“…”
在这里不使用,因为它们必须在单引号Perl one liner中转义)。
s/\b($re\u str)\b/$re{$1}/g
:在$re_str
周围的括号将模式捕获到$1
变量中\b
表示分词,即单词的开头或结尾。根据评估顺序,需要添加\b
以防止将家庭地址
替换为家庭地址
。
另请参见:
perldoc perlrun
:如何执行Perl解释器:命令行开关perldoc perlre
:Perl正则表达式(正则表达式)perldoc perlRequest
:Perl正则表达式快速启动
我想替换字符串中的一些单词。我有可行的解决方案,但我认为这不是最好的。你能帮我做些更有效的事情吗 代码是avaiable在这里:https://codepen.io/yasAFE/pen/BYOVme
我正在从文本文件中读取预订系统的座位数据,并将其写入ArrayList中。一个行将被放入一个可变的fileline中。文件行是从每个“,”中拆分出来的,并放入名为Components的数组中。然后将组件放入对象中。 txt文件示例 然后进入一个if语句,检查座位是否合适,如果合适,我想将false更改为true,并将乘客名添加为null,但只在合适的座位上。我想知道是否有任何方法可以覆盖文本文件中
问题内容: 我有一个文件(更具体地说是一个log4j配置文件),我希望能够读取该文件并在代码中挑选出某些行并替换它们。例如,在文件中,有一串文本,指示文件的存储目录或记录器的级别。我希望能够替换这些文本字符串而无需读入文件,将其写入另一个文件以及删除原始文件。有没有一种使用Java来查找和替换文件中文本的更有效方法? 这是我尝试使用的文本文件的示例: 我希望能够读取文件并将’DEBUG’替换为另一
当我试图计算一个单词在TXT文件中出现的次数时,我遇到了一个问题。 我创建一个textfield(txta) 我创建一个按钮来应用操作(btn) 我创建一个textarea(区域),其中显示文件的内容
在这里你可以看到我正在处理的一些文件。 与我最相似的问题是这个问题(将一个文本文件文件夹合并到一个CSV中,每个内容都在一个单元格中),但我无法实现那里提出的任何解决方案。 我尝试的最后一个是Nathaniel Verhaaren在前面提到的问题中提出的Python代码,但我得到了与问题作者完全相同的错误(即使在实施了一些建议之后): 与我类似的其他问题(例如,Python:将多个。txt文件解析
问题内容: 有没有办法替换放置在HTML正文中的table元素内的普通文本? 喜欢用“ hi”代替“ hello”吗? 请仅使用不带 jQuery的* JavaScript 。 * 问题答案: 要用另一个字符串替换HTML中的字符串,请使用innerHTML的replace 请注意,这将替换整个正文的第一个实例,包括HTML代码中的任何实例(例如,类名等。),因此请谨慎使用- 为了获得更好的结果,