TextUtils
public class TextUtils
extends Object
Summary
Public methods |
static CharSequence |
commaEllipsize(CharSequence text, TextPaint p, float avail, String oneMore, String more) 将以逗号分隔的格式“Andy,Bob,Charles,David”的CharSequence转换为宽度不足以符合指定宽度的CharSequence,如“Andy,Bob,2 more”。 |
static CharSequence |
concat(CharSequence... text) 返回一个CharSequence连接指定的CharSequence,如果有的话保留它们的跨度。 |
static void |
copySpansFrom(Spanned source, int start, int end, Class kind, Spannable dest, int destoff) 复制从区域跨度 start...end 在 source 的区域 destoff...destoff+end-start 在 dest 。 |
static void |
dumpSpans(CharSequence cs, Printer printer, String prefix) 调试工具在CharSequence中打印跨度。 |
static CharSequence |
ellipsize(CharSequence text, TextPaint p, float avail, TextUtils.TruncateAt where) 返回原始文本,如果指定的Paint的属性符合指定的宽度,或者如果不适合,则在指定的边或中心处添加一个带有省略号字符的截断副本。 |
static CharSequence |
ellipsize(CharSequence text, TextPaint paint, float avail, TextUtils.TruncateAt where, boolean preserveLength, TextUtils.EllipsizeCallback callback) 如果给定指定Paint的属性,则返回原始文本;如果不匹配,则返回在指定边或中心处添加省略号字符的副本。 |
static boolean |
equals(CharSequence a, CharSequence b) 如果a和b相等,则返回true,包括它们都为null。 |
static CharSequence |
expandTemplate(CharSequence template, CharSequence... values) 替换“^ 1”,“^ 2”等的实例 |
static int |
getCapsMode(CharSequence cs, int off, int reqModes) 确定文本中当前偏移量应该生效的上限模式。 |
static void |
getChars(CharSequence s, int start, int end, char[] dest, int destoff) |
static int |
getLayoutDirectionFromLocale(Locale locale) 返回给定语言环境的布局方向 |
static int |
getOffsetAfter(CharSequence text, int offset) |
static int |
getOffsetBefore(CharSequence text, int offset) |
static CharSequence |
getReverse(CharSequence source, int start, int end) 此方法在API级别24中已弃用。请勿使用。 |
static int |
getTrimmedLength(CharSequence s) 如果空格和ASCII控制字符从开始和结束被修剪,返回指定CharSequence的长度,如 trim() 。 |
static String |
htmlEncode(String s) Html编码字符串。 |
static int |
indexOf(CharSequence s, char ch, int start, int end) |
static int |
indexOf(CharSequence s, CharSequence needle, int start, int end) |
static int |
indexOf(CharSequence s, CharSequence needle, int start) |
static int |
indexOf(CharSequence s, CharSequence needle) |
static int |
indexOf(CharSequence s, char ch, int start) |
static int |
indexOf(CharSequence s, char ch) |
static boolean |
isDigitsOnly(CharSequence str) 返回给定的CharSequence是否只包含数字。 |
static boolean |
isEmpty(CharSequence str) 如果字符串为null或0长度,则返回true。 |
static boolean |
isGraphic(CharSequence str) 返回给定的CharSequence是否包含任何可打印的字符。 |
static boolean |
isGraphic(char c) 此方法在API级别24中已弃用。请改为使用isGraphic(CharSequence) 。 |
static String |
join(CharSequence delimiter, Iterable tokens) 返回包含由分隔符连接的令牌的字符串。 |
static String |
join(CharSequence delimiter, Object[] tokens) 返回包含由分隔符连接的令牌的字符串。 |
static int |
lastIndexOf(CharSequence s, char ch, int last) |
static int |
lastIndexOf(CharSequence s, char ch) |
static int |
lastIndexOf(CharSequence s, char ch, int start, int last) |
static boolean |
regionMatches(CharSequence one, int toffset, CharSequence two, int ooffset, int len) |
static CharSequence |
replace(CharSequence template, String[] sources, CharSequence[] destinations) 返回一个新的CharSequence,其中每个源字符串都由目标的相应元素替换。 |
static String[] |
split(String text, Pattern pattern) 在模式上分割一个字符串。 |
static String[] |
split(String text, String expression) 当要拆分的字符串为空时,String.split()返回['']。 |
static CharSequence |
stringOrSpannedString(CharSequence source) |
static String |
substring(CharSequence source, int start, int end) 创建一个新的String对象,其中包含来自源字符串的给定范围的字符。 |
static void |
writeToParcel(CharSequence cs, Parcel p, int parcelableFlags) 拼合一个CharSequence,可以将任何样式跨进程复制到宗地中。 |
Constants
Fields
Public methods
commaEllipsize
CharSequence commaEllipsize (CharSequence text,
TextPaint p,
float avail,
String oneMore,
String more)
将以逗号分隔的格式“Andy,Bob,Charles,David”的CharSequence转换为宽度不足以符合指定宽度的CharSequence,如“Andy,Bob,2 more”。
Parameters |
text |
CharSequence : the text to truncate |
p |
TextPaint : the Paint with which to measure the text |
avail |
float : the horizontal width available for the text |
oneMore |
String : the string for "1 more" in the current locale |
more |
String : the string for "%d more" in the current locale |
copySpansFrom
void copySpansFrom (Spanned source,
int start,
int end,
Class kind,
Spannable dest,
int destoff)
复制从区域跨度start...end
在source
的区域destoff...destoff+end-start
在dest
。 跨越在source
之前开始start
或之后结束end
但重叠的这个范围,就好像他们开始在修剪start
或结束end
。
Parameters |
source |
Spanned
|
start |
int
|
end |
int
|
kind |
Class
|
dest |
Spannable
|
destoff |
int
|
dumpSpans
void dumpSpans (CharSequence cs,
Printer printer,
String prefix)
调试工具在CharSequence中打印跨度。 输出将打印每行一个跨度。 如果CharSequence不是一个Spanned,那么整个字符串将被打印在一行上。
Parameters |
cs |
CharSequence
|
printer |
Printer
|
prefix |
String
|
ellipsize
CharSequence ellipsize (CharSequence text,
TextPaint paint,
float avail,
TextUtils.TruncateAt where,
boolean preserveLength,
TextUtils.EllipsizeCallback callback)
如果给定指定Paint的属性,则返回原始文本;如果不匹配,则返回在指定边或中心处添加省略号字符的副本。 如果指定了preserveLength
,则返回的副本将填充零宽度空格以保留原始长度和偏移量而不是截断。 如果callback
非空,它将被调用来报告椭圆化范围的开始和结束。 TextDirection由第一个强方向字符决定。
Parameters |
text |
CharSequence
|
paint |
TextPaint
|
avail |
float
|
where |
TextUtils.TruncateAt
|
preserveLength |
boolean
|
callback |
TextUtils.EllipsizeCallback
|
equals
boolean equals (CharSequence a,
CharSequence b)
如果a和b相等,则返回true,包括它们都为null。
注意:在平台版本1.1和更低版本中,如果两个参数都是String实例,则此方法只能运行良好。
Parameters |
a |
CharSequence : first CharSequence to check |
b |
CharSequence : second CharSequence to check |
Returns |
boolean |
true if a and b are equal |
expandTemplate
CharSequence expandTemplate (CharSequence template,
CharSequence... values)
将template
CharSequence中的“^ 1”,“^ 2”等实例替换为相应的values
。 “^^”用于在输出中生成一个脱字符号。 只支持最多9个替换值,“^ 10”将产生第一个替换值,后面是“0”。
Parameters |
template |
CharSequence : the input text containing "^1"-style placeholder values. This object is not modified; a copy is returned. |
values |
CharSequence : CharSequences substituted into the template. The first is substituted for "^1", the second for "^2", and so on. |
Returns |
CharSequence |
the new CharSequence produced by doing the replacement |
Throws |
IllegalArgumentException |
if the template requests a value that was not provided, or if more than 9 values are provided. |
getCapsMode
int getCapsMode (CharSequence cs,
int off,
int reqModes)
确定文本中当前偏移量应该生效的上限模式。 只有在reqModes中设置的模式位才会被检查。 请注意,这里的cap模式标志明确定义为与InputType
匹配。
getChars
void getChars (CharSequence s,
int start,
int end,
char[] dest,
int destoff)
Parameters |
s |
CharSequence
|
start |
int
|
end |
int
|
dest |
char
|
destoff |
int
|
getLayoutDirectionFromLocale
int getLayoutDirectionFromLocale (Locale locale)
返回给定语言环境的布局方向
Parameters |
locale |
Locale : the Locale for which we want the layout direction. Can be null. |
getOffsetAfter
int getOffsetAfter (CharSequence text,
int offset)
Parameters |
text |
CharSequence
|
offset |
int
|
getOffsetBefore
int getOffsetBefore (CharSequence text,
int offset)
Parameters |
text |
CharSequence
|
offset |
int
|
getReverse
CharSequence getReverse (CharSequence source,
int start,
int end)
此方法在API级别24中已弃用。
不使用。
此功能仅反转单个char
,而不反转它们的相关跨度。 它不支持代理对(对应于非BMP代码点),组合序列或连接。
Parameters |
source |
CharSequence
|
start |
int
|
end |
int
|
getTrimmedLength
int getTrimmedLength (CharSequence s)
如果空格和ASCII控制字符从开始和结束被修剪,返回指定CharSequence的长度,如 trim()
。
Parameters |
s |
CharSequence
|
htmlEncode
String htmlEncode (String s)
Html编码字符串。
Parameters |
s |
String : the string to be encoded |
Returns |
String |
the encoded string |
indexOf
int indexOf (CharSequence s,
char ch,
int start,
int end)
Parameters |
s |
CharSequence
|
ch |
char
|
start |
int
|
end |
int
|
indexOf
int indexOf (CharSequence s,
CharSequence needle,
int start,
int end)
Parameters |
s |
CharSequence
|
needle |
CharSequence
|
start |
int
|
end |
int
|
indexOf
int indexOf (CharSequence s,
CharSequence needle,
int start)
Parameters |
s |
CharSequence
|
needle |
CharSequence
|
start |
int
|
indexOf
int indexOf (CharSequence s,
char ch,
int start)
Parameters |
s |
CharSequence
|
ch |
char
|
start |
int
|
indexOf
int indexOf (CharSequence s,
char ch)
Parameters |
s |
CharSequence
|
ch |
char
|
isDigitsOnly
boolean isDigitsOnly (CharSequence str)
返回给定的CharSequence是否只包含数字。
Parameters |
str |
CharSequence
|
isEmpty
boolean isEmpty (CharSequence str)
如果字符串为null或0长度,则返回true。
Parameters |
str |
CharSequence : the string to be examined |
Returns |
boolean |
true if str is null or zero length |
isGraphic
boolean isGraphic (CharSequence str)
返回给定的CharSequence是否包含任何可打印的字符。
Parameters |
str |
CharSequence
|
isGraphic
boolean isGraphic (char c)
此方法在API级别24中已弃用。
改为使用isGraphic(CharSequence)
。
返回此字符是否为可打印字符。 这不支持非BMP字符,不应使用。
join
String join (CharSequence delimiter,
Iterable tokens)
返回包含由分隔符连接的令牌的字符串。
Parameters |
delimiter |
CharSequence
|
tokens |
Iterable : an array objects to be joined. Strings will be formed from the objects by calling object.toString(). |
join
String join (CharSequence delimiter,
Object[] tokens)
返回包含由分隔符连接的令牌的字符串。
Parameters |
delimiter |
CharSequence
|
tokens |
Object : an array objects to be joined. Strings will be formed from the objects by calling object.toString(). |
lastIndexOf
int lastIndexOf (CharSequence s,
char ch,
int last)
Parameters |
s |
CharSequence
|
ch |
char
|
last |
int
|
lastIndexOf
int lastIndexOf (CharSequence s,
char ch)
Parameters |
s |
CharSequence
|
ch |
char
|
lastIndexOf
int lastIndexOf (CharSequence s,
char ch,
int start,
int last)
Parameters |
s |
CharSequence
|
ch |
char
|
start |
int
|
last |
int
|
regionMatches
boolean regionMatches (CharSequence one,
int toffset,
CharSequence two,
int ooffset,
int len)
Parameters |
one |
CharSequence
|
toffset |
int
|
two |
CharSequence
|
ooffset |
int
|
len |
int
|
split
String[] split (String text,
Pattern pattern)
在模式上分割一个字符串。 当要拆分的字符串为空时,String.split()返回['']。 这返回[]。 这不会从结果中删除任何空字符串。
Parameters |
text |
String : the string to split |
pattern |
Pattern : the regular expression to match |
Returns |
String[] |
an array of strings. The array will be empty if text is empty |
split
String[] split (String text,
String expression)
当要拆分的字符串为空时,String.split()返回['']。 这返回[]。 这不会从结果中删除任何空字符串。 例如split(“a”,“,”)返回{“a”,“”}。
Parameters |
text |
String : the string to split |
expression |
String : the regular expression to match |
Returns |
String[] |
an array of strings. The array will be empty if text is empty |
substring
String substring (CharSequence source,
int start,
int end)
创建一个新的String对象,其中包含来自源字符串的给定范围的字符。 这与简单地调用CharSequence.subSequence
不同,因为它不保留源序列中的任何样式运行,从而实现更高效的实现。
Parameters |
source |
CharSequence
|
start |
int
|
end |
int
|
writeToParcel
void writeToParcel (CharSequence cs,
Parcel p,
int parcelableFlags)
拼合一个CharSequence,可以将任何样式跨进程复制到宗地中。
Parameters |
cs |
CharSequence
|
p |
Parcel
|
parcelableFlags |
int
|