Помогите Есть ли в java "универсальный заменитель" для символов?

Статус
Закрыто для дальнейших ответов.

fakeAnonimus

Ньюби
Пользователь
Баллы
1
Например, есть строка "bm******yd", где на месте звёздочек могут быть любые символы и в любом количестве. Есть ли такое в java? Знаю, что в регулярных выражениях на php эту роль выполняет точка, но там учитывается количество символов.

P.S. - знаю, что не по тебе. Я бы нагуглил, если бы смог нормально сформулировать вопрос
 
Регулярное выражение для того, чтобы найти в строке "bm*******yd" все символы вместо звездочек для Java:
Код:
final String regex = "bm(.*)yd";

Код:
import java.util.regex.Matcher;
import java.util.regex.Pattern;

final String regex = "bm(.*)yd";
final String string = "bm123asdfasd asdfyd";

final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);

while (matcher.find()) {
    System.out.println("Full match: " + matcher.group(0));
    for (int i = 1; i <= matcher.groupCount(); i++) {
        System.out.println("Group " + i + ": " + matcher.group(i));
    }
}
 
Регулярное выражение для того, чтобы найти в строке "bm*******yd" все символы вместо звездочек для Java:
Код:
final String regex = "bm(.*)yd";

Код:
import java.util.regex.Matcher;
import java.util.regex.Pattern;

final String regex = "bm(.*)yd";
final String string = "bm123asdfasd asdfyd";

final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);

while (matcher.find()) {
    System.out.println("Full match: " + matcher.group(0));
    for (int i = 1; i <= matcher.groupCount(); i++) {
        System.out.println("Group " + i + ": " + matcher.group(i));
    }
}
Нет, находить не надо. Дело-то и в том, что там несколько вариантов
Ладно, я так понимаю, что я дурачок и задал вопрос, который мне не пригодится и вообще это так не работает. Хотел в .getString("something."+*разные ветви*+".test1") искать ник.
Мне нужно проверить, есть ли искомая строка в конфиге вида
Код:
something:
  test:
    test1: String
    test 2: (лист)
    -
    -
  newtest:
    test1: String
    test 2: (лист)
    -
    -
Я думаю, что нужно рыть в сторону ConfigurationSection, а там шаманить с getValues() и потом работать с Map, но мои знания Java оставляют желать лучшего
 
Последнее редактирование:
Можно получить весь список something.*** и через ключи -> значения списка искать ник
https://docs.oracle.com/javase/7/docs/api/java/util/Map.html
https://docs.oracle.com/javase/7/docs/api/java/util/List.html

* позже, если есть необходимость, добавлю пример 😁 *
Да эт я понял, ещё бы знать, как) Час в гугле просидел - не нашёл. Видимо, придётся читать всё
UPD:
Код:
if (plugin.config.getConfigurationSection("something").getValues(true).containsValue(player)) {
                       player.sendMessage("никнейм есть в конфиге");
                   }
так не работает/ Можно как-нибудь выводить на экран Map? Знать бы, как он выглядит. А то работаю с тем, не знаю с чем
 
Последнее редактирование:
Типичные php засранцы не умеющие в ООП.
Код:
        Users users = new Users(this.getConfig().getConfigurationSection("something"));
        User user = users.getUser("test");
        user.getTest1();
        user.getTest2();
Код:
package Example;

import java.util.HashMap;
import java.util.Map;

import org.bukkit.configuration.ConfigurationSection;

public class Users {
    private Map<String, User> user = new HashMap<String, User>();

    public Users(ConfigurationSection section) {
        for (String key : section.getKeys(false)) {
            user.put(key, new User(section.getConfigurationSection(key)));
        }
    }

    public User getUser(String name) {
        return user.get(name);
    }
    
    public String toString() {
        return user.toString();
    }
}
Код:
package Example;

import java.util.List;

import org.bukkit.configuration.ConfigurationSection;

public class User {
    private String test1;
    private List<String> test2;

    public User(ConfigurationSection section) {
        test1 = section.getString("test1");
        test2 = (List<String>) section.getList("test2");
    }

    public String getTest1() {
        return test1;
    }

    public List<String> getTest2() {
        return test2;
    }
    
    public String toString() {
        return test1+":"+test2;
    }
}
 
Последнее редактирование:
Типичные php засранцы не умеющие в ООП.
Код:
        Users users = new Users(this.getConfig().getConfigurationSection("something"));
        User user = users.getUser("test");
        user.getTest1();
        user.getTest2();
Код:
package Example;

import java.util.HashMap;
import java.util.Map;

import org.bukkit.configuration.ConfigurationSection;

public class Users {
    private Map<String, User> user = new HashMap<String, User>();

    public Users(ConfigurationSection section) {
        for (String key : section.getKeys(false)) {
            user.put(key, new User(section.getConfigurationSection(key)));
        }
    }

    public User getUser(String name) {
        return user.get(name);
    }
   
    public String toString() {
        return user.toString();
    }
}
Код:
package Example;

import java.util.List;

import org.bukkit.configuration.ConfigurationSection;

public class User {
    private String test1;
    private List<String> test2;

    public User(ConfigurationSection section) {
        test1 = section.getString("test1");
        test2 = (List<String>) section.getList("test2");
    }

    public String getTest1() {
        return test1;
    }

    public List<String> getTest2() {
        return test2;
    }
   
    public String toString() {
        return test1+":"+test2;
    }
}
К слову, я не php-засранец, я в нём полный ноль)
В Java я ноль, конечно, полнее. Где-то на уровне шестилетнего.
А за решение спасибо большое
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх