使用 ant 脚本查找字符串中逗号等特定字符的出现次数?

  • 本文关键字:字符 查找 脚本 ant 字符串 使用 ant
  • 更新时间 :
  • 英文 :

<project>
<target name="test">
<property name="src.dir" value="src" />
<property name="search4" value=","/>
<fileset id="existing" dir="${src.dir}/src">
<patternset id="files">
<include name="*.txt"/>
</patternset>
</fileset>
<resourcecount property="count">
<fileset id="matches" dir="../src">
<patternset refid="files" />
<contains text="${search4}" />
</fileset>
</resourcecount>
<echo message="Found '${search4}' in files : '${count}'"/>
</target>
</project>

我使用了这个,但这只打印了第一次出现。我想打印总数。

例如 -abc,xyz,pg-->逗号(,(的出现次数为 2。

这是一种方法。 将文件复制到另一个文件,并使用筛选器删除所有非逗号,然后获取输出的大小,即输入文件中的逗号数。

<delete file="out.txt" />
<copy file="in.txt" tofile="out.txt">
<filterchain>
<striplinebreaks />
<replaceregex pattern="[^,]" replace="" flags="gm" />
</filterchain>
</copy>
<length file="out.txt" property="out.size" />
<echo message="Commas found: ${out.size}" />

关于您的后续问题:如何将其限制为文件的第一行:在"带状换行符"行之前添加以下内容:

<headfilter lines="1" />

这将只计算文件第一行中的逗号。

最新更新