如何在文本文件中搜索以a结尾的单词然后将r附加到这些单词? (JAVA)

时间:2018-03-31 00:38:40

标签: java

我有一个包含电影脚本的文件,我正试图追加' r'所有以' a'结尾的单词。任何帮助将不胜感激!

3 个答案:

答案 0 :(得分:2)

这可以使用String.replaceAll方法完成,如下所示:

String script = "a cuba is a bla bla country";
System.out.println(script.replaceAll("a(\\s+)", "ar$1"));
// this gives the result of "ar cubar is ar blar blar country"

replaceAll的第一个参数是一个正则表达式,表示任何以a和一个或多个空格结尾的内容。第二个参数是替换,它在r之后附加a并保留第一个捕获组,即空白。

答案 1 :(得分:0)

我们可以将这个问题分成三个主要阶段:

  1. 从文件中读取
  2. 修改以' a'
  3. 结尾的单词
  4. 回写文件
  5. 我们可以使用FileReader访问该文件,然后使用Scanner读取每个单词。 Oracle Basic IO tutorial上提供了如何执行此操作的示例。

    要检查每个单词是否以' a'结尾,我们可以将最终字符与' a'进行比较。如果是这种情况,我们可以附加“' r'使用Java的字符串连接:

        if(word.charAt(word.length()-1) == 'a'){
            word = word + 'r';
        }
    

    最后,我们可以使用Java BufferedWriter将所有这些写回文件。

答案 2 :(得分:0)

试试这个

\b.*?a\b

a 会匹配以Imports System.Globalization Public Class ValConv Implements IValueConverter Private Function IValueConverter_Convert(value As Object, targetType As Type, parameter As Object, culture As CultureInfo) As Object Implements IValueConverter.Convert If (TypeOf value Is String) Then Dim newStr As New List(Of String) newStr.Add(value) Return newStr Else Return value End If End Function Private Function IValueConverter_ConvertBack(value As Object, targetType As Type, parameter As Object, culture As CultureInfo) As Object Implements IValueConverter.ConvertBack Return value End Function 结尾的边界词。