[英]How to recurse a String to validate that it contains only numbers after the first character
[英]How to make a String include the ':' in between numbers only avoid the ':' before or after any character java?
我想用 SpannableString java 突出显示一个字符串
我有以下字符串
textString = "2021-01-26 19:23:18 Lat: 26.369919 Long: 83.46433";
由此,我可以使用带有十进制数字的正则表达式突出显示字符串
Pattern regex = Pattern.compile("(\\d+(?:\\.\\d+)?)");
像这样
textString = " 2021 - 01 - 26 19 : 23 : 18纬度: 26.369919长: 83.46433 ";
但现在我想在数字之间制作包含':'的字符串,并希望在任何非数字字符之前或之后避免':'
我想像这样生产 output
textString = " 2021 - 01 - 26 19:23:18 Lat: 26.369919 Long: 83.46433 ";
您可以在这里使用Html#fromHtml
来获得一种相当简单的方法:
String textString = "2021-01-26 19:23:18 Lat: 26.369919 Long: 83.46433";
textString = textString.replaceAll("(\\d{4})-(\\d{2})-(\\d{2}) (\\d{2}:\\d{2}:\\d{2})", "<b>$1</b>-<b>$2</b>-<b>$3</b> <b>$4</b>");
textString = textString.replaceAll("(?<!\\S)(\\d+(?:\\.\\d+)?)(?!\\S)", "<b>$1</b>");
textView.setText(Html.fromHtml(textString));
如果您在正则表达式替换后记录textString
的值,您将看到以下值:
<b>2021</b>-<b>01</b>-<b>26</b> <b>19:23:18</b> Lat: <b>26.369919</b> Long: <b>83.46433</b>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.