我不太确定如何对此进行操作,因此标题有点奇怪。我想要做的是在格式为“%1 $ d/10%2 $ s”的字符串中对2个提取的子字符串进行着色和更改大小。 举例来说,第一个参数是'1',第二个参数是'垃圾',最后一个字符串是“1/10垃圾”。我想为'1'红色着色,并将样式设置为粗体,并为“垃圾”红色着色,但保留“/ 10”不变。我知道我可以用Spannables做到这一点,但问题是我看不到一种方式来获取各种子串的开始和结束点。我知道我只能查找第一个'/',并假定它前面的字符是第一个格式替换,然后在'10'后面查找第一个非空格字符,并知道这是第二个格式替换,但是这似乎有点混乱。当然,应该有一些方法来查询字符串的位置已被替换为每个格式参数的字符?在Android中获取被替换的格式字符串子字符串的位置
-1
A
回答
0
不是我所知道的。
Java中的所有格式方法都会返回一个字符串或一个Formatter(取决于您使用的是什么)。
它看起来很“杂乱”,但不是那么多,正如你所说的,你可能会使用两次变种indexOf(String str, int fromIndex)来获得索引,然后使用spannable着色。所以它可能会有大约4到6行的相关代码。
另一种手动查找索引的方法是使用for循环来查找'/'
,然后是' '
。如果你的字符串总是有这种格式,它会起作用。
也有正则表达式,但它有点矫枉过正!
相关问题
- 1. 替换格式字符串
- 2. 获取字符串替换
- 3. 字符串中的字符串替换
- 4. 子串在字符串中的位置
- 5. 在位置x处替换字符串中的单个字符
- 6. 在不同位置替换字符串中的多个字符
- 7. 替换字符串中的字符,在特定位置
- 8. java字符串处理字符串替换在同一位置
- 9. 当字符串包含[]字符时替换字符串中的子字符串
- 10. 如何获取字符串中模式的字符位置?
- 11. 替换字符串中的子字符串,除非字符串在引号内
- 12. 用字符串格式运算符C++字符串替换
- 13. 字符串forwardslash被替换
- 14. 获取格式字符串
- 15. 如何从字符串中获取“1.2”格式的字符串?
- 16. Python:按位置替换字符串中的字符
- 17. Java在字符串的特定位置替换字符?
- 18. 替换字符串内的字符串
- 19. 从字符串获取子字符串__
- 20. 字符串替换()/正则表达式替换 - 替换字符串数组中的字符串?
- 21. 替换字符串中的多个子字符串
- 22. Perl替换字符串中的第n个子字符串
- 23. 如何替换字符串中的子字符串?
- 24. 替换字符串中的子字符串
- 25. 替换字符串中出现的第n个子字符串
- 26. 替换字符串中的子字符串
- 27. 如何替换字符串中的子字符串
- 28. 替换字符串中的子字符串
- 29. 替换字符串中的多个子字符串
- 30. C#替换字符串中的匹配子字符串