После извлечения слова, как получить оставшуюся часть? - PullRequest
0 голосов
/ 28 марта 2019

Привет, у меня есть следующая строка

String mytext="Hi I <am> John (Cena)";

Теперь я пытаюсь сделать следующее: я хочу отобразить

'<<strong> am >' жирным шрифтом и' Cena ' синего цвета.

Я могу извлечь эти слова, но остальная часть, как «Привет, Джон»

Как можно получить это?Я не могу найти решение.

txttemps=(TextView)findViewById(R.id.txt_temps);

List<String> matchList = new ArrayList<String>();
Pattern regex = Pattern.compile("\\((.*?)\\)");
Matcher regexMatcher = regex.matcher(mytext);

while (regexMatcher.find()) {//Finds Matching Pattern in String
    matchList.add(regexMatcher.group(1));//Fetching Group from String

}

for(String str:matchList) {
    System.out.println(str);

    colortext=str;
}

Pattern p = Pattern.compile("\\<(.*?)\\>");
Matcher m = p.matcher(mytext);
while(m.find())
{
    System.out.println(m.group(1));
    //is your string. do what you want
    boldtext=m.group(1);

}

Ответы [ 2 ]

0 голосов
/ 28 марта 2019
SpannableStringBuilder str = new SpannableStringBuilder("Hi I am John Cena");
str.setSpan(new android.text.style.StyleSpan(android.graphics.Typeface.BOLD),5,6, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
str.setSpan(new ForegroundColorSpan(Color.BLUE), 13, 16, 0); 
TextView tv=new TextView(context);
tv.setText(str);

Проверьте эту ссылку на дополнительные примеры

0 голосов
/ 28 марта 2019

Пожалуйста, используйте ниже код

String mytext="Hi I <am> John (Cena)";
Pattern ptn = Pattern.compile("\\s+");
Matcher mtch = ptn.matcher(mytext);
mytext = mtch.replaceAll(",");
System.out.println("Array"+mytext.split(",")[0]);//[1][2] to get next elements in array
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...