Замена смайликов в строках - PullRequest
0 голосов
/ 24 марта 2012

Я вставляю смайлики в строки.Я закодировал смайлики в определенном формате, и когда перед тем, как отобразить строку в компоненте, мне нужно заменить все вхождения кодов смайликов на HTML-теги img, чтобы они отображались в виде изображений.Итак, вот формат моих смайликов -

&:) ==> smile

&:O ==> shocked

&:( ==> sad

etc...

Скажем, у меня есть следующая строка -

Did you hear the news &:O. I won a million dollars!! &:)

Мне нужно найти, а затем заменить всекоды смайликов с HTML, такие как

<img src='file:C:/images/sad.png'/>

Ответы [ 3 ]

4 голосов
/ 24 марта 2012

Я думаю, вам лучше использовать String.replace вместо String.replaceAll, поэтому вам не нужно иметь дело с экранированием шаблонов регулярных выражений ... он просто выполняет буквальную замену.

4 голосов
/ 24 марта 2012

лучше всего использовать String.replaceAll(String what, String withWhat) для каждого типа смайлика, который вы пытаетесь заменить

2 голосов
/ 24 марта 2012

определите это где-нибудь:

static HashMap<String, String> smileys = new HashMap<String, String>();

затем заполните его смайликами (String) и их представлением html:

smileys.put("&:)", "<img src='file:C:/images/sad.png'/>");
smileys.put("&:O", "<img src='file:C:/images/sad.png'/>");
smileys.put("&:(", "<img src='file:C:/images/sad.png'/>");

замена смайликов выполняется путем замены каждого вхождения кода смайлика его представлением html, просто зациклите hashmap следующим образом:

public String replaceSmileys(String text){
    for(Entry<String, String> smiley : smileys.entrySet())
        text = text.replaceAll(smiley.getKey(), smiley.getValue());
    return text;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...