Change text using SpannableStringBuilder
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
I want to make text when surrounded by (*) it will be bold and surrounded by (~) it will be strike. I following this link and modify the code to be like this
text = "*~TEST~* *TEST* ~TEST~ TEST";
texview.setText(createSpannable(text))
private static SpannableStringBuilder createSpannable(final String str)
StringBuffer stringBuffer = new StringBuffer();
SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder();
//Matcher matcher = BOLD_REGEX.matcher(str);
Matcher matcher = Pattern.compile("(\*(.*?)\*)
Expectation Output :
My Output :
How can i achieve this?
java android regex string spannablestringbuilder
|
show 2 more comments
I want to make text when surrounded by (*) it will be bold and surrounded by (~) it will be strike. I following this link and modify the code to be like this
text = "*~TEST~* *TEST* ~TEST~ TEST";
texview.setText(createSpannable(text))
private static SpannableStringBuilder createSpannable(final String str)
StringBuffer stringBuffer = new StringBuffer();
SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder();
//Matcher matcher = BOLD_REGEX.matcher(str);
Matcher matcher = Pattern.compile("(\*(.*?)\*)
Expectation Output :
My Output :
How can i achieve this?
java android regex string spannablestringbuilder
You are processing a string with one pass, but your matches are overlapping. Split this replacement logic into two steps, one with*([^*]*)*
regex and the other with~([^~]*)~
– Wiktor Stribiżew
Nov 15 '18 at 10:22
Try like this:text = "~*TEST*~ *TEST* ~TEST~ TEST";
– Ümañg ßürmån
Nov 15 '18 at 10:22
@WiktorStribiżew i have change my regex with yours , but the result remain the same
– valentino
Nov 15 '18 at 10:32
I did not recommend to change the regex, I suggest to split the programming logic to run subsitutions twice, to process a string twice, once with the first regex and then with the second.
– Wiktor Stribiżew
Nov 15 '18 at 10:33
@Ümañgßürmån i think that doesn't help, because the text is dynamic
– valentino
Nov 15 '18 at 10:34
|
show 2 more comments
I want to make text when surrounded by (*) it will be bold and surrounded by (~) it will be strike. I following this link and modify the code to be like this
text = "*~TEST~* *TEST* ~TEST~ TEST";
texview.setText(createSpannable(text))
private static SpannableStringBuilder createSpannable(final String str)
StringBuffer stringBuffer = new StringBuffer();
SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder();
//Matcher matcher = BOLD_REGEX.matcher(str);
Matcher matcher = Pattern.compile("(\*(.*?)\*)
Expectation Output :
My Output :
How can i achieve this?
java android regex string spannablestringbuilder
I want to make text when surrounded by (*) it will be bold and surrounded by (~) it will be strike. I following this link and modify the code to be like this
text = "*~TEST~* *TEST* ~TEST~ TEST";
texview.setText(createSpannable(text))
private static SpannableStringBuilder createSpannable(final String str)
StringBuffer stringBuffer = new StringBuffer();
SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder();
//Matcher matcher = BOLD_REGEX.matcher(str);
Matcher matcher = Pattern.compile("(\*(.*?)\*)
Expectation Output :
My Output :
How can i achieve this?
java android regex string spannablestringbuilder
java android regex string spannablestringbuilder
asked Nov 15 '18 at 10:19
valentinovalentino
564
564
You are processing a string with one pass, but your matches are overlapping. Split this replacement logic into two steps, one with*([^*]*)*
regex and the other with~([^~]*)~
– Wiktor Stribiżew
Nov 15 '18 at 10:22
Try like this:text = "~*TEST*~ *TEST* ~TEST~ TEST";
– Ümañg ßürmån
Nov 15 '18 at 10:22
@WiktorStribiżew i have change my regex with yours , but the result remain the same
– valentino
Nov 15 '18 at 10:32
I did not recommend to change the regex, I suggest to split the programming logic to run subsitutions twice, to process a string twice, once with the first regex and then with the second.
– Wiktor Stribiżew
Nov 15 '18 at 10:33
@Ümañgßürmån i think that doesn't help, because the text is dynamic
– valentino
Nov 15 '18 at 10:34
|
show 2 more comments
You are processing a string with one pass, but your matches are overlapping. Split this replacement logic into two steps, one with*([^*]*)*
regex and the other with~([^~]*)~
– Wiktor Stribiżew
Nov 15 '18 at 10:22
Try like this:text = "~*TEST*~ *TEST* ~TEST~ TEST";
– Ümañg ßürmån
Nov 15 '18 at 10:22
@WiktorStribiżew i have change my regex with yours , but the result remain the same
– valentino
Nov 15 '18 at 10:32
I did not recommend to change the regex, I suggest to split the programming logic to run subsitutions twice, to process a string twice, once with the first regex and then with the second.
– Wiktor Stribiżew
Nov 15 '18 at 10:33
@Ümañgßürmån i think that doesn't help, because the text is dynamic
– valentino
Nov 15 '18 at 10:34
You are processing a string with one pass, but your matches are overlapping. Split this replacement logic into two steps, one with
*([^*]*)*
regex and the other with ~([^~]*)~
– Wiktor Stribiżew
Nov 15 '18 at 10:22
You are processing a string with one pass, but your matches are overlapping. Split this replacement logic into two steps, one with
*([^*]*)*
regex and the other with ~([^~]*)~
– Wiktor Stribiżew
Nov 15 '18 at 10:22
Try like this:
text = "~*TEST*~ *TEST* ~TEST~ TEST";
– Ümañg ßürmån
Nov 15 '18 at 10:22
Try like this:
text = "~*TEST*~ *TEST* ~TEST~ TEST";
– Ümañg ßürmån
Nov 15 '18 at 10:22
@WiktorStribiżew i have change my regex with yours , but the result remain the same
– valentino
Nov 15 '18 at 10:32
@WiktorStribiżew i have change my regex with yours , but the result remain the same
– valentino
Nov 15 '18 at 10:32
I did not recommend to change the regex, I suggest to split the programming logic to run subsitutions twice, to process a string twice, once with the first regex and then with the second.
– Wiktor Stribiżew
Nov 15 '18 at 10:33
I did not recommend to change the regex, I suggest to split the programming logic to run subsitutions twice, to process a string twice, once with the first regex and then with the second.
– Wiktor Stribiżew
Nov 15 '18 at 10:33
@Ümañgßürmån i think that doesn't help, because the text is dynamic
– valentino
Nov 15 '18 at 10:34
@Ümañgßürmån i think that doesn't help, because the text is dynamic
– valentino
Nov 15 '18 at 10:34
|
show 2 more comments
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53317185%2fchange-text-using-spannablestringbuilder%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53317185%2fchange-text-using-spannablestringbuilder%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
You are processing a string with one pass, but your matches are overlapping. Split this replacement logic into two steps, one with
*([^*]*)*
regex and the other with~([^~]*)~
– Wiktor Stribiżew
Nov 15 '18 at 10:22
Try like this:
text = "~*TEST*~ *TEST* ~TEST~ TEST";
– Ümañg ßürmån
Nov 15 '18 at 10:22
@WiktorStribiżew i have change my regex with yours , but the result remain the same
– valentino
Nov 15 '18 at 10:32
I did not recommend to change the regex, I suggest to split the programming logic to run subsitutions twice, to process a string twice, once with the first regex and then with the second.
– Wiktor Stribiżew
Nov 15 '18 at 10:33
@Ümañgßürmån i think that doesn't help, because the text is dynamic
– valentino
Nov 15 '18 at 10:34