Что эффективный путь состоит в том, чтобы проанализировать Строку в Java?

При встраивании начального значения для переменной, это будет сделано неявно в конструкторе так или иначе.

я утверждал бы, что этот синтаксис был лучшей практикой в 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"
6
задан jjnguy 29 July 2009 в 18:21
поделиться

4 ответа

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 , чтобы получить помощь по регулярным выражениям. Они могут быть очень мощным инструментом для манипулирования струнами.

12
ответ дан 8 December 2019 в 12:22
поделиться

Хотя регулярные выражения хороши и все такое, вы также можете использовать класс java.util.StringTokenizer для выполнения этой работы. Преимущество заключается в более понятном для человека коде.

StringTokenizer tokenizer = new StringTokenizer(inputString, "\"");
tokenizer.nextElement();
String path = tokenizer.nextElement();

И готово.

2
ответ дан 8 December 2019 в 12:22
поделиться

java.util.regex - ваш друг.

1
ответ дан 8 December 2019 в 12:22
поделиться

Вы можете сделать регулярное выражение немного короче, чем у jinguy. В основном просто RHS без ".

    String regex = ".* = \"(.*)\"";
1
ответ дан 8 December 2019 в 12:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: