При встраивании начального значения для переменной, это будет сделано неявно в конструкторе так или иначе.
я утверждал бы, что этот синтаксис был лучшей практикой в C# до 5:
class Person
{
public Person()
{
//do anything before variable assignment
//assign initial values
Name = "Default Name";
//do anything after variable assignment
}
public string Name { get; set; }
}
, Поскольку это дает Вам, четкий контроль стоимостей заказов присвоен.
С C#6 существует новый путь:
public string Name { get; set; } = "Default Name"
String regex = ".*\\[LoadFile\\]\\s+file\\s+=\\s+\"([^\"].+)\".*";
Matcher m = Pattern.compile(regex).matcher(inputString);
if (!m.find())
System.out.println("No match found.");
else
String result = m.group(1);
Строка
в результате должна быть вашим путем к файлу. ( при условии, что я не делал никаких ошибок )
Вам следует взглянуть на класс Pattern
, чтобы получить помощь по регулярным выражениям. Они могут быть очень мощным инструментом для манипулирования струнами.
Хотя регулярные выражения хороши и все такое, вы также можете использовать класс java.util.StringTokenizer
для выполнения этой работы. Преимущество заключается в более понятном для человека коде.
StringTokenizer tokenizer = new StringTokenizer(inputString, "\"");
tokenizer.nextElement();
String path = tokenizer.nextElement();
И готово.
Вы можете сделать регулярное выражение немного короче, чем у jinguy. В основном просто RHS без ".
String regex = ".* = \"(.*)\"";