Как я создаю регулярное выражение для этого в андроиде?

Мой ответ является в основном тем же как другими, но я думаю, что существует две других важных вещи сделать:

  1. Объявляют виртуальный деструктор в Вашем интерфейсе или делают защищенный невиртуальный для предотвращения неопределенных поведений, если кто-то пытается удалить объект Использования типа IDemo.

  2. виртуальное наследование для предотвращения проблем со множественным наследованием. (Существует чаще множественное наследование, когда мы используем интерфейсы.)

И как другие ответы:

  • Делают класс с чистыми виртуальными методами.
  • Использование интерфейс путем создания другого класса, который переопределяет те виртуальные методы.

    class IDemo
    {
        public:
            virtual void OverrideMe() = 0;
            virtual ~IDemo() {}
    }
    

    Или

    class IDemo
    {
        public:
            virtual void OverrideMe() = 0;
        protected:
            ~IDemo() {}
    }
    

    И

    class Child : virtual public IDemo
    {
        public:
            virtual void OverrideMe()
            {
                //do stuff
            }
    }
    
9
задан teedyay 30 March 2010 в 13:14
поделиться

3 ответа

Вы можете использовать регулярные выражения точно так же, как в Java SE:

Pattern pattern = Pattern.compile(".* (Ka).*");
Matcher matcher = pattern.matcher("Manoj Kumar Kashyap");
if(matcher.matches())
{
    int idx = matcher.start(1);
}
15
ответ дан 4 December 2019 в 11:07
поделиться

Для этого вам не нужно регулярное выражение. Я не эксперт по Java, но согласно документам Android :

public int indexOf (String string)
Ищет в этой строке первый индекс указанной строки. В поиск строки начинается с начало и движется к концу эта строка.

Параметры
строка строка, которую нужно найти.

Возвращает
индекс первого символ указанной строки в эта строка, -1, если указанный string is not a substring.

You'll probably end up with something like:

int index = somestring.indexOf(" Ka");
4
ответ дан 4 December 2019 в 11:07
поделиться

If you really need regular expressions and not just indexOf, it's possible to do it like this

String[] split = "Manoj Kumar Kashyap".split("\\sKa");
if (split.length > 0)
{
    // there was at least one match
    int startIndex = split[0].length() + 1;
}
0
ответ дан 4 December 2019 в 11:07
поделиться
Другие вопросы по тегам:

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