Java 从文件中每行的开头列出字符串
如果我有一个像下面这样的属性文件,那么制作“环境”字符串列表的最简单方法是什么 鉴于:Java 从文件中每行的开头列出字符串,java,regex,Java,Regex,如果我有一个像下面这样的属性文件,那么制作“环境”字符串列表的最简单方法是什么 鉴于: qa1.url=qa1.com qa1.log=qa.log qa2.url=qa2.com qa2.log=qa.log prod.url=production.com prod.log=prod.log 我想用[qa1,qa2,prod]填充一个下拉列表。regex是最好的方法吗?如果保证环境是第一位的,那么该方法将起作用: String s = "qa1.url=qa1.com" String r =
qa1.url=qa1.com
qa1.log=qa.log
qa2.url=qa2.com
qa2.log=qa.log
prod.url=production.com
prod.log=prod.log
我想用[qa1,qa2,prod]填充一个下拉列表。regex是最好的方法吗?如果保证环境是第一位的,那么该方法将起作用:
String s = "qa1.url=qa1.com"
String r = s.split("\\.")[0] // should be 'qa1'
如果保证环境是第一位的,那么该方法将起作用:
String s = "qa1.url=qa1.com"
String r = s.split("\\.")[0] // should be 'qa1'
是的,正则表达式可能是一个很好的方法。您还可以使用Scanner并将分隔符设置为从点开始到行尾的所有内容,包括行分隔符:
Scanner sc = new Scanner(new File("input.txt"));
sc.useDelimiter("\\..*?(\r?\n|$)");
Set<String> set = new HashSet<>();
while (sc.hasNext()){
set.add(sc.next());
}
是的,正则表达式可能是一个很好的方法。您还可以使用Scanner并将分隔符设置为从点开始到行尾的所有内容,包括行分隔符:
Scanner sc = new Scanner(new File("input.txt"));
sc.useDelimiter("\\..*?(\r?\n|$)");
Set<String> set = new HashSet<>();
while (sc.hasNext()){
set.add(sc.next());
}