当前位置: 首页 > 知识库问答 >
问题:

从文本文件匹配Java模式

蒯华彩
2023-03-14

dir=“某物”\temp。

我是新来的,任何帮助都很感激。我认为这是字符转义…但我不确定,我想使用正则表达式,但我想我会遇到同样的问题。

预期

C:\\users\\admin\\appdata\\local\\

dir=c:\\users\\admin\\appdata\\local\\temp

public class test
{
    public String fileText;

    public static void main(String[] args)
    {
     StartUpFile bob = new StartUpFile();

       System.out.println(bob.showFile());
       System.out.println(bob.temp());

       bob.change();
       System.out.println(bob.showFile());

    }
}

public class StartUpFile
{
    private String fileText;
    private String newText;
    /**
     * Constructor for objects of class StartUpFile
     */
    public StartUpFile()
    {
         newText = "\\\\"+"LocalPC";
         fileText = "Dir=C:"+"\\\\"+"Users"+"\\\\"+"admin"+"\\\\"+"AppData"+"\\\\"+"Local"+"\\\\"+"Temp";
    }
    /**
    * I want to ID the text bewtween "Dir=" and "Temp"
    */
    public String temp()
    {
      int startTemp = fileText.indexOf("Dir=") + 4;
      int EndTemp = fileText.indexOf("Temp");
      return fileText.substring(startTemp,EndTemp);
    }
    /**
    * show the string
    */ 
    public String showFile()
    {
        return fileText;
    }
    /**
     * swap the temp string for the newText
     */
    public void change()
    {
        fileText = fileText.replaceAll(temp(),newText);
    }
}

共有1个答案

卫嘉泽
2023-03-14

有人同意使用正则表达式,所以我把它们缝起来,就像我应该擅长的东西一样。

我最后

String result = fileText.replaceAll("^*(?<==).*$", newText);

我把它理解为从一行开始=之后的任何东西匹配到行尾的任何东西,这对我来说是有效的。但如果有人知道如何在“temp”之前陈述任何东西,我想它会更干净。谢谢你。我想是“年轻的米莉”发了帖子,但后来又删除了他的帖子

 类似资料:
  • 类似定位器参数,文本模式是另一种常用的 Selenium 命令参数。需要使用文本模式的命令,例如:verifyTextPresent, verifyTitle, verifyAlert, assertConfirmation, verifyText, verifyPrompt。上面已经提到,LinkText 定位器可使用文本模式。文本模式使用特殊字符来模糊匹配预期的文本,而不必准确的描述该文本。

  • 我尝试为配置文件编写Xtext BNF(已知扩展名为) 例如,我想成功地解析 我的问题是匹配属性值(在“=”右边)。 如果属性与终端匹配(例如),则我当前的语法有效。 我不知道如何概括语法以匹配任何文本(例如)。 我当然需要引入一个新的终端属性:name=ID (':' | '=') value=TEXT ';'?; 问题是:我应该如何定义这个终端? 我试过了 >

  • 通配符 # glob_asterisk.py import glob for name in sorted(glob.glob('dir/*')): print(name) # glob_subdir.py import glob print('Named explicitly:') for name in sorted(glob.glob('dir/subdir/*')):

  • 根据文档--不管应用程序名称如何,如果模式与*/development(即localhost:8888/user/development或localhost:8888/demo/development)匹配,配置服务器应该匹配配置文件模式并获取适当的属性。例如:http://localhost:8888/demo/development我应该从ssh://git@xxxgithub.com/dev

  • 问题内容: 我有一个类似… 的正则表达式模式,我需要搜索成千上万个文件(大小从1KB到24 MB不等)以成千上万个文件(介于100到8000之间)。 我想知道是否有比我尝试过的模式匹配更快的方法。 环境: 杰克1.8 Windows 10 Unix4j库 这是我到目前为止尝试过的 我明白了,这让我觉得我做错了什么。 我对流使用了不同的方法,平均每种方法需要大约一分钟的时间来处理当前的6660个文件

  • 问题内容: 我已经使用Python和Django建立了一个在线画廊。我刚刚开始添加编辑功能,从旋转开始。我使用sorl.thumbnail按需自动生成缩略图。 当我编辑原始文件时,我需要清理所有缩略图,以便生成新的缩略图。每个图片有三到四个(我在不同场合有不同的图片)。 我 可以 在文件变量中进行硬编码…但是这很混乱,如果我改变工作方式,则需要重新访问代码。 理想情况下,我想进行正则删除。用正则表