Most visited

Recently visited

Added in API level 24

UnicodeSet

public class UnicodeSet
extends UnicodeFilter implements Iterable<String>, Comparable<UnicodeSet>, Freezable<UnicodeSet>

java.lang.Object
   ↳ android.icu.text.UnicodeFilter
     ↳ android.icu.text.UnicodeSet


一组可变的Unicode字符和多字符字符串。 此类的对象表示正则表达式中使用的字符类 一个字符指定了Unicode代码点的一个子集。 法定代码点为U + 0000至U + 10FFFF,包括在内。 注意:方法freeze()不仅使集合不可变,而且使重要方法的性能更高:包含(c),containsNone(...),span(...),spanBack(...)等对象被冻结后,任何想要更改对象的后续调用都会抛出UnsupportedOperationException。

UnicodeSet类不被设计为子类。

UnicodeSet支持两种API。 第一个是操作数 API,它允许调用者修改UnicodeSet对象的值。 它符合Java 2的java.util.Set接口,但UnicodeSet实际上并未实现该接口。 支持Set所有方法,修改为使用字符范围或单个字符而不是Object ,并且它们采用UnicodeSet而不是Collection 操作数API可以根据布尔逻辑来考虑:一个布尔OR由add实现,一个布尔AND由retain实现,一个布尔XOR由complement实现一个参数,一个布尔NOT由complement实现,没有论据。 就传统集合论的函数名而言, add是一个联合, retain是一个交集, remove是一个不对称的区别,而complement没有参数是关于超集范围的集补集MIN_VALUE-MAX_VALUE

所述第二API是applyPattern() / toPattern()从API java.text.Format衍生类。 不像添加字符的方法中,添加类别,和控制所述组的逻辑,该方法applyPattern()集的的所有属性UnicodeSet一次,基于字符串模式。

模式语法

Patterns are accepted by the constructors and the applyPattern() methods and returned by the toPattern() method. These patterns follow a syntax similar to that employed by version 8 regular expression character classes. Here are some simple examples:
[] No characters
[a] The character 'a'
[ae] The characters 'a' and 'e'
[a-e] The characters 'a' through 'e' inclusive, in Unicode code point order
[\\u4E01] The character U+4E01
[a{ab}{ac}] The character 'a' and the multicharacter strings "ab" and "ac"
[\p{Lu}] All characters in the general category Uppercase Letter
Any character may be preceded by a backslash in order to remove any special meaning. White space characters, as defined by the Unicode Pattern_White_Space property, are ignored, unless they are escaped.

属性模式指定一组具有由Unicode标准定义的特定属性的字符。 类似POSIX的“[:Lu:]”和类似Perl的语法“\ p {Lu}”都被识别出来。 有关支持的属性模式的完整列表,请参阅UnicodeSet用户指南http://www.icu-project.org/userguide/unicodeSet.html 属性数据的实际确定由UCharacter实现的底层Unicode数据库定义。

模式指定单个字符,字符范围和Unicode属性集。 当元素被连接时,他们指定他们的联合。 为了补充一个集合,在打开'['后立即放置'^'。 通过修改分隔符来反转属性模式; “[:^ foo]”和“\ P {foo}”。 在任何其他位置,'^'没有特殊含义。

范围通过在两个字符之间放置两个' - '来表示,如“az”中所示。 这将按照Unicode顺序指定从左到右的所有字符的范围。 如果左侧字符大于或等于右侧字符,则为语法错误。 如果在打开'['或'[^'之后出现' - '作为第一个字符,或者作为关闭之前的最后一个字符']'出现,那么它将被视为文字。 因此,“[a \\ - b]”,“[-ab]”和“[ab-]”都表示同一组三个字符,'a','b'和' - '。

可以使用'&'运算符来相交集合,或者可以使用' - '运算符来取得不对称集合差异,例如,“[[:L:]&[\\ u0000 - \\ u0FFF]]”表示集合所有Unicode值小于4096的字母。运算符('&'和'|')具有相同的优先级并从左到右绑定。 因此“[[:L:] - [az] - [\\ u0100 - \\ u01FF]]”相当于“[[[:L:] - [az]] - [\\ u0100 - \\ u01FF] ]”。 这只是真正重要的差异。 交叉口是可交换的。

[a] The set containing 'a'
[a-z] The set containing 'a' through 'z' and all letters in between, in Unicode order
[^a-z] The set containing all characters but 'a' through 'z', that is, U+0000 through 'a'-1 and 'z'+1 through U+10FFFF
[[pat1][pat2]] The union of sets specified by pat1 and pat2
[[pat1]&[pat2]] The intersection of sets specified by pat1 and pat2
[[pat1]-[pat2]] The asymmetric difference of sets specified by pat1 and pat2
[:Lu:] or \p{Lu} The set of characters having the specified Unicode property; in this case, Unicode uppercase letters
[:^Lu:] or \P{Lu} The set of characters not having the given Unicode property

警告 :您不能将一个空字符串(“”)添加到UnicodeSet。

形式语法

pattern :=  ('[' '^'? item* ']') | property
item :=  char | (char '-' char) | pattern-expr
pattern-expr :=  pattern | pattern-expr pattern | pattern-expr op pattern
op :=  '&' | '-'
special :=  '[' | ']' | '-'
char :=  any character that is not special
| ('\\'
any character)
| ('\u' hex hex hex hex)
hex :=  any character for which Character.digit(c, 16) returns a non-negative result
property :=  a Unicode property set pattern

Legend:
a := b   a may be replaced by b
a? zero or one instance of a
a* one or more instances of a
a | b either a or b
'a' the literal string between the quotes

要遍历UnicodeSet的内容,可以使用以下内容:

All of the above can be used in for loops. The UnicodeSetIterator can also be used, but not in for loops.

要替换,计算元素或删除跨度,请参阅 UnicodeSetSpanner

也可以看看:

Summary

Nested classes

枚举 UnicodeSet.ComparisonStyle

比较样式枚举使用compareTo(UnicodeSet, ComparisonStyle)

class UnicodeSet.EntryRange

类似于结构的类用于遍历范围,用于迭代比String更快。

枚举 UnicodeSet.SpanCondition

包含当前字符时span()和类似函数是否继续的参数值与

Constants

int ADD_CASE_MAPPINGS

构造函数的位掩码,applyPattern()和closeOver()指示字母大小写。

int CASE

构造函数的位掩码,applyPattern()和closeOver()指示字母大小写。

int CASE_INSENSITIVE

UnicodeSet.CASE的别名,便于从C ++移植,其中ICU4C同时具有USET_CASE和USET_CASE_INSENSITIVE(请参阅uset.h)。

int IGNORE_SPACE

构造函数的Bitmask和applyPattern()指示应该忽略空白。

int MAX_VALUE

可以存储在UnicodeSet中的最大值。

int MIN_VALUE

可以存储在UnicodeSet中的最小值。

Inherited constants

From interface android.icu.text.UnicodeMatcher

Fields

public static final UnicodeSet ALL_CODE_POINTS

所有代码点集合的常量。

public static final UnicodeSet EMPTY

常量为空集。

Public constructors

UnicodeSet()

构造一个空集。

UnicodeSet(UnicodeSet other)

构建现有集合的副本。

UnicodeSet(int start, int end)

构造一个包含给定范围的集合。

UnicodeSet(int... pairs)

从一组范围<s0,e0,s1,e1,s2,e2,...,sn,en>快速构建一个集合。

UnicodeSet(String pattern)

根据给定的模式构造一个集合。

UnicodeSet(String pattern, boolean ignoreWhitespace)

根据给定的模式构造一个集合。

UnicodeSet(String pattern, int options)

根据给定的模式构造一个集合。

UnicodeSet(String pattern, ParsePosition pos, SymbolTable symbols)

根据给定的模式构造一个集合。

UnicodeSet(String pattern, ParsePosition pos, SymbolTable symbols, int options)

根据给定的模式构造一个集合。

Public methods

StringBuffer _generatePattern(StringBuffer result, boolean escapeUnprintable)

生成并附加此集合的字符串表示形式。

StringBuffer _generatePattern(StringBuffer result, boolean escapeUnprintable, boolean includeStrings)

生成并附加此集合的字符串表示形式。

final UnicodeSet add(int c)

如果尚未存在,则将指定的字符添加到此集合中。

final UnicodeSet add(CharSequence s)

如果指定的多字符不存在,则将其添加到此集合中。

UnicodeSet add(Iterable<?> source)

将集合的内容(作为字符串)添加到此UnicodeSet中。

UnicodeSet add(int start, int end)

如果指定范围尚不存在,则将该范围添加到此集合中。

<T extends CharSequence> UnicodeSet addAll(T... collection)
UnicodeSet addAll(int start, int end)

添加范围内的所有字符(使用首选的命名约定)。

UnicodeSet addAll(UnicodeSet c)

如果它们尚不存在,则将指定集合中的所有元素添加到此集合中。

final UnicodeSet addAll(CharSequence s)

将此字符串中的每个字符添加到集合中。

UnicodeSet addAll(Iterable<?> source)

将一个集合(作为字符串)添加到此UnicodeSet中。

<T extends Collection<String>> T addAllTo(T target)

将UnicodeSet的内容(作为字符串)添加到集合中。

void addMatchSetTo(UnicodeSet toUnionTo)

UnicodeMatcher API的实现。

UnicodeSet applyIntPropertyValue(int prop, int value)

修改此集合以包含具有给定二进制或枚举属性的给定值的代码点,由UCharacter.getIntPropertyValue返回。

final UnicodeSet applyPattern(String pattern)

修改此集合以表示由给定模式指定的集合。

UnicodeSet applyPattern(String pattern, int options)

修改此集合以表示由给定模式指定的集合,可以忽略空白。

UnicodeSet applyPattern(String pattern, boolean ignoreWhitespace)

修改此集合以表示由给定模式指定的集合,可以忽略空白。

UnicodeSet applyPropertyAlias(String propertyAlias, String valueAlias)

修改此集合以包含那些给定属性具有给定值的代码点。

UnicodeSet applyPropertyAlias(String propertyAlias, String valueAlias, SymbolTable symbols)

修改此集合以包含那些给定属性具有给定值的代码点。

int charAt(int index)

返回此集合中给定索引处的字符,其中集合按升序码点排序。

UnicodeSet clear()

删除此组中的所有元素。

Object clone()

返回一个相当于这个的新集。

UnicodeSet cloneAsThawed()

根据Freezable界面,克隆此类的解冻版本。

UnicodeSet closeOver(int attribute)

通过给定的属性关闭这个集合。

UnicodeSet compact()

重新分配这些对象内部结构以占用尽可能少的空间,而无需更改此对象的值。

int compareTo(UnicodeSet o)

比较统一码集,其中较短的先到先,否则用文字方式(根据第一个不同字符的比较)。

int compareTo(UnicodeSet o, UnicodeSet.ComparisonStyle style)

以三种不同的方式比较UnicodeSet。

int compareTo(Iterable<String> other)
UnicodeSet complement(int start, int end)

补充此组中的指定范围。

UnicodeSet complement()

这相当于 complement(MIN_VALUE, MAX_VALUE)

final UnicodeSet complement(CharSequence s)

补充此集合中的指定字符串。

final UnicodeSet complement(int c)

补充此组中的指定字符。

final UnicodeSet complementAll(CharSequence s)

补充每个字符串中的字符。

UnicodeSet complementAll(UnicodeSet c)

在这个补全中设置了指定集合中包含的所有元素。

boolean contains(int c)

如果此集合包含给定的字符,则返回true。

boolean contains(int start, int end)

如果此集合包含给定范围的每个字符,则返回true。

final boolean contains(CharSequence s)

如果此集合包含给定的多字符字符串,则返回 true

boolean containsAll(UnicodeSet b)

如果此集合包含给定集合的所有字符和字符串,则返回true。

<T extends CharSequence> boolean containsAll(Iterable<T> collection)
boolean containsAll(String s)

如果存在字符串的分区,则返回true,以使该集合包含每个分区字符串。

<T extends CharSequence> boolean containsNone(Iterable<T> collection)
boolean containsNone(UnicodeSet b)

如果此UnicodeSet中没有任何字符或字符串出现在字符串中,则返回true。

boolean containsNone(CharSequence s)

如果此集合不包含给定字符串的任何字符,则返回true。

boolean containsNone(int start, int end)

如果此集合不包含给定范围的任何字符,则返回true。

final boolean containsSome(UnicodeSet s)

如果此集合包含给定集合中的一个或多个字符和字符串,则返回true。

final boolean containsSome(CharSequence s)

如果此集合包含给定字符串的一个或多个字符,则返回true。

final <T extends CharSequence> boolean containsSome(Iterable<T> collection)
final boolean containsSome(int start, int end)

如果此集合包含给定范围中的一个或多个字符,则返回true。

boolean equals(Object o)

将指定的对象与此集合进行相等比较。

UnicodeSet freeze()

根据Freezable界面,将这个类冻结。

static UnicodeSet from(CharSequence s)

从多字符字符串中创建一个集合。

static UnicodeSet fromAll(CharSequence s)

从字符串中的每个字符创建一个集合。

int getRangeCount()

迭代方法,返回此集合中包含的范围数。

int getRangeEnd(int index)

迭代方法,返回该集合指定范围内的最后一个字符。

int getRangeStart(int index)

迭代方法,返回该集合指定范围内的第一个字符。

int hashCode()

返回此集合的哈希码值。

int indexOf(int c)

返回此集合中给定字符的索引,其中集合按升序代码点排序。

boolean isEmpty()

如果此集合不包含元素,则返回 true

boolean isFrozen()

根据Freezable界面,这是否被冻结?

Iterator<String> iterator()

返回一个字符串迭代器。

int matches(Replaceable text, int[] offset, int limit, boolean incremental)

UnicodeMatcher.matches()的实现。

boolean matchesIndexValue(int v)

UnicodeMatcher API的实现。

Iterable<UnicodeSet.EntryRange> ranges()

提供比String更快的迭代。

UnicodeSet remove(int start, int end)

如果存在,则从该组中删除指定的范围。

final UnicodeSet remove(CharSequence s)

如果存在,则从该集合中删除指定的字符串。

final UnicodeSet remove(int c)

如果存在,则从该集合中删除指定的字符。

<T extends CharSequence> UnicodeSet removeAll(Iterable<T> collection)
UnicodeSet removeAll(UnicodeSet c)

从该集合中删除指定集合中包含的所有元素。

final UnicodeSet removeAll(CharSequence s)

删除此字符串中的每个字符。

final UnicodeSet removeAllStrings()

从该UnicodeSet中删除所有字符串

UnicodeSet retain(int start, int end)

仅保留包含在指定范围内的该组中的元素。

final UnicodeSet retain(CharSequence cs)

如果存在,则保留此组中的指定字符串。

final UnicodeSet retain(int c)

如果存在,则保留该集合中的指定字符。

final UnicodeSet retainAll(CharSequence s)

保留此字符串中的每个字符。

UnicodeSet retainAll(UnicodeSet c)

只保留包含在指定集合中的这个集合中的元素。

<T extends CharSequence> UnicodeSet retainAll(Iterable<T> collection)
UnicodeSet set(UnicodeSet other)

使这个对象代表与 other相同的集合。

UnicodeSet set(int start, int end)

使这个对象代表范围 start - end

int size()

返回此集合(它的基数)中元素的数量注意,集合中的元素可能包含单独的代码点和字符串。

int span(CharSequence s, int start, UnicodeSet.SpanCondition spanCondition)

使用此UnicodeSet跨越一个字符串。

int span(CharSequence s, UnicodeSet.SpanCondition spanCondition)

使用此UnicodeSet跨越一个字符串。

int spanBack(CharSequence s, UnicodeSet.SpanCondition spanCondition)

使用此UnicodeSet向后(从最后)跨度字符串。

int spanBack(CharSequence s, int fromIndex, UnicodeSet.SpanCondition spanCondition)

使用此UnicodeSet向后跨越一个字符串(从fromIndex开始)。

Collection<String> strings()

遍历集合中的字符串。

String toPattern(boolean escapeUnprintable)

返回此集合的字符串表示形式。

String toString()

返回此对象的程序员可读的字符串表示形式。

Inherited methods

From class android.icu.text.UnicodeFilter
From class java.lang.Object
From interface android.icu.text.UnicodeMatcher
From interface java.lang.Iterable
From interface java.lang.Comparable
From interface android.icu.util.Freezable

Constants

ADD_CASE_MAPPINGS

Added in API level 24
int ADD_CASE_MAPPINGS

构造函数的位掩码,applyPattern()和closeOver()指示字母大小写。 这可能与其他选择器一起进行或运算。 启用不区分大小写的匹配。 例如,带有该标志的“[ab]”将匹配'a','A','b'和'B'。 “[^ ab]”带有此标志将匹配除'a','A','b'和'B'以外的所有标志。 这将添加较低,标题和大写映射以及集合中每个现有元素的大小写折叠。

常量值:4(0x00000004)

CASE

Added in API level 24
int CASE

构造函数的位掩码,applyPattern()和closeOver()指示字母大小写。 这可能与其他选择器一起进行或运算。 启用不区分大小写的匹配。 例如,带有该标志的“[ab]”将匹配'a','A','b'和'B'。 “[^ ab]”带有此标志将匹配除'a','A','b'和'B'以外的所有标志。 这对于大小写映射执行完全关闭,例如s的U + 017F。 结果集是代码点输入的超集,但不是字符串。 它执行代码点的封闭情况映射,并为代码点添加完整的案例折叠字符串,并将原始集合的字符串减少为完整的大小写折叠等价物。 这是为不区分大小写的匹配而设计的,例如在正则表达式中。 完整的代码点封闭允许直接对封闭集检查输入字符。 字符串通过比较封闭集合中的折叠形式和相关字符串的递增大小写折叠来匹配。 如果原始集合包含大小写相等的字符串(例如“ss”或“Ss”的U + 00DF等),则封闭集合也将包含单个代码点。 对于上述匹配方法,这不是必需的(即冗余),但是不管原始集合是包含代码点还是字符串,都会导致相同的闭包集合。

常量值:2(0x00000002)

CASE_INSENSITIVE

Added in API level 24
int CASE_INSENSITIVE

UnicodeSet.CASE的别名,便于从C ++移植,其中ICU4C同时具有USET_CASE和USET_CASE_INSENSITIVE(请参阅uset.h)。

也可以看看:

常量值:2(0x00000002)

IGNORE_SPACE

Added in API level 24
int IGNORE_SPACE

构造函数的Bitmask和applyPattern()指示应该忽略空白。 如果设置,则忽略Unicode Pattern_White_Space字符,除非它们被引用或转义。 这可能与其他选择器一起进行或运算。

常数值:1(0x00000001)

MAX_VALUE

Added in API level 24
int MAX_VALUE

可以存储在UnicodeSet中的最大值。

常量值:1114111(0x0010ffff)

MIN_VALUE

Added in API level 24
int MIN_VALUE

可以存储在UnicodeSet中的最小值。

常量值:0(0x00000000)

Fields

ALL_CODE_POINTS

Added in API level 24
UnicodeSet ALL_CODE_POINTS

所有代码点集合的常量。 (由于UnicodeSets可以包含字符串,因此不包括UnicodeSet可以包含的所有内容。)

EMPTY

Added in API level 24
UnicodeSet EMPTY

常量为空集。

Public constructors

UnicodeSet

Added in API level 24
UnicodeSet ()

构造一个空集。

UnicodeSet

Added in API level 24
UnicodeSet (UnicodeSet other)

构建现有集合的副本。

Parameters
other UnicodeSet

UnicodeSet

Added in API level 24
UnicodeSet (int start, 
                int end)

构造一个包含给定范围的集合。 如果end > start则创建一个空集。

Parameters
start int: first character, inclusive, of range
end int: last character, inclusive, of range

UnicodeSet

Added in API level 24
UnicodeSet (int... pairs)

从一组范围<s0,e0,s1,e1,s2,e2,...,sn,en>快速构建一个集合。 必须有偶数个整数,并且它们必须全部大于零,全部小于或等于Character.MAX_CODE_POINT。 在每一对(...,si,ei,...)中必须是真的,在相邻对(... ei,sj ...)之间si <= ei,它必须是真的,ei + 1 <sj

Parameters
pairs int: pairs of character representing ranges

UnicodeSet

Added in API level 24
UnicodeSet (String pattern)

根据给定的模式构造一个集合。 请参阅类描述以了解模式语言的语法。 空白被忽略。

Parameters
pattern String: a string specifying what characters are in the set
Throws
IllegalArgumentException if the pattern contains a syntax error.

UnicodeSet

Added in API level 24
UnicodeSet (String pattern, 
                boolean ignoreWhitespace)

根据给定的模式构造一个集合。 请参阅类描述以了解模式语言的语法。

Parameters
pattern String: a string specifying what characters are in the set
ignoreWhitespace boolean: if true, ignore Unicode Pattern_White_Space characters
Throws
IllegalArgumentException if the pattern contains a syntax error.

UnicodeSet

Added in API level 24
UnicodeSet (String pattern, 
                int options)

根据给定的模式构造一个集合。 请参阅类描述以了解模式语言的语法。

Parameters
pattern String: a string specifying what characters are in the set
options int: a bitmask indicating which options to apply. Valid options are IGNORE_SPACE and CASE.
Throws
IllegalArgumentException if the pattern contains a syntax error.

UnicodeSet

Added in API level 24
UnicodeSet (String pattern, 
                ParsePosition pos, 
                SymbolTable symbols)

根据给定的模式构造一个集合。 请参阅类描述以了解模式语言的语法。

Parameters
pattern String: a string specifying what characters are in the set
pos ParsePosition: on input, the position in pattern at which to start parsing. On output, the position after the last character parsed.
symbols SymbolTable: a symbol table mapping variables to char[] arrays and chars to UnicodeSets
Throws
IllegalArgumentException if the pattern contains a syntax error.

UnicodeSet

Added in API level 24
UnicodeSet (String pattern, 
                ParsePosition pos, 
                SymbolTable symbols, 
                int options)

根据给定的模式构造一个集合。 请参阅类描述以了解模式语言的语法。

Parameters
pattern String: a string specifying what characters are in the set
pos ParsePosition: on input, the position in pattern at which to start parsing. On output, the position after the last character parsed.
symbols SymbolTable: a symbol table mapping variables to char[] arrays and chars to UnicodeSets
options int: a bitmask indicating which options to apply. Valid options are IGNORE_SPACE and CASE.
Throws
IllegalArgumentException if the pattern contains a syntax error.

Public methods

_generatePattern

Added in API level 24
StringBuffer _generatePattern (StringBuffer result, 
                boolean escapeUnprintable)

生成并附加此集合的字符串表示形式。 这不使用this.pat,这是传递给applyPattern()的字符串的清理副本。

Parameters
result StringBuffer: the buffer into which to generate the pattern
escapeUnprintable boolean: escape unprintable characters if true
Returns
StringBuffer

_generatePattern

Added in API level 24
StringBuffer _generatePattern (StringBuffer result, 
                boolean escapeUnprintable, 
                boolean includeStrings)

生成并附加此集合的字符串表示形式。 这不使用this.pat,这是传递给applyPattern()的字符串的清理副本。

Parameters
result StringBuffer
escapeUnprintable boolean
includeStrings boolean: if false, doesn't include the strings.
Returns
StringBuffer

add

Added in API level 24
UnicodeSet add (int c)

如果尚未存在,则将指定的字符添加到此集合中。 如果这个集合已经包含指定的字符,则该呼叫将保持该集合不变。

Parameters
c int
Returns
UnicodeSet

add

Added in API level 24
UnicodeSet add (CharSequence s)

如果指定的多字符不存在,则将其添加到此集合中。 如果该组已包含多字符,则该呼叫将保持该设置不变。 因此“ch”=> {“ch”}
警告:您不能将一个空字符串(“”)添加到UnicodeSet。

Parameters
s CharSequence: the source string
Returns
UnicodeSet this object, for chaining

add

Added in API level 24
UnicodeSet add (Iterable<?> source)

将集合的内容(作为字符串)添加到此UnicodeSet中。 该集合不能包含null。

Parameters
source Iterable: the collection to add
Returns
UnicodeSet a reference to this object

add

Added in API level 24
UnicodeSet add (int start, 
                int end)

如果指定范围尚不存在,则将该范围添加到此集合中。 如果这个集合已经包含了指定的范围,那么该呼叫将保持该集合不变。 如果end > start则添加一个空的范围,保持集合不变。

Parameters
start int: first character, inclusive, of range to be added to this set.
end int: last character, inclusive, of range to be added to this set.
Returns
UnicodeSet

addAll

Added in API level 24
UnicodeSet addAll (T... collection)

Parameters
collection T
Returns
UnicodeSet

也可以看看:

addAll

Added in API level 24
UnicodeSet addAll (int start, 
                int end)

添加范围内的所有字符(使用首选的命名约定)。

Parameters
start int: The index of where to start on adding all characters.
end int: The index of where to end on adding all characters.
Returns
UnicodeSet a reference to this object

addAll

Added in API level 24
UnicodeSet addAll (UnicodeSet c)

如果它们尚不存在,则将指定集合中的所有元素添加到此集合中。 这个操作有效地修改了这个集合,使它的值是两个集合的集。 如果指定的集合在操作过程中被修改,则此操作的行为未指定。

Parameters
c UnicodeSet: set whose elements are to be added to this set.
Returns
UnicodeSet

addAll

Added in API level 24
UnicodeSet addAll (CharSequence s)

将此字符串中的每个字符添加到集合中。 因此“ch”=> {“c”,“h”}如果这个设置已经是任何特定的字符,它对那个字符没有影响。

Parameters
s CharSequence: the source string
Returns
UnicodeSet this object, for chaining

addAll

Added in API level 24
UnicodeSet addAll (Iterable<?> source)

将一个集合(作为字符串)添加到此UnicodeSet中。 使用标准的命名约定。

Parameters
source Iterable: collection to add into
Returns
UnicodeSet a reference to this object

addAllTo

Added in API level 24
T addAllTo (T target)

将UnicodeSet的内容(作为字符串)添加到集合中。

Parameters
target T: collection to add into
Returns
T

addMatchSetTo

Added in API level 24
void addMatchSetTo (UnicodeSet toUnionTo)

UnicodeMatcher API的实现。 将该对象可能匹配的所有字符集合到给定集合中。

Parameters
toUnionTo UnicodeSet: the set into which to union the source characters

applyIntPropertyValue

Added in API level 24
UnicodeSet applyIntPropertyValue (int prop, 
                int value)

修改此集合以包含具有给定二进制或枚举属性的给定值的代码点,由UCharacter.getIntPropertyValue返回。 此套件的先前内容已丢失。

Parameters
prop int: a property in the range UProperty.BIN_START..UProperty.BIN_LIMIT-1 or UProperty.INT_START..UProperty.INT_LIMIT-1 or. UProperty.MASK_START..UProperty.MASK_LIMIT-1.
value int: a value in the range UCharacter.getIntPropertyMinValue(prop).. UCharacter.getIntPropertyMaxValue(prop), with one exception. If prop is UProperty.GENERAL_CATEGORY_MASK, then value should not be a UCharacter.getType() result, but rather a mask value produced by logically ORing (1 << UCharacter.getType()) values together. This allows grouped categories such as [:L:] to be represented.
Returns
UnicodeSet a reference to this set

applyPattern

Added in API level 24
UnicodeSet applyPattern (String pattern)

修改此集合以表示由给定模式指定的集合。 请参阅类描述以了解模式语言的语法。 空白被忽略。

Parameters
pattern String: a string specifying what characters are in the set
Returns
UnicodeSet
Throws
IllegalArgumentException if the pattern contains a syntax error.

applyPattern

Added in API level 24
UnicodeSet applyPattern (String pattern, 
                int options)

修改此集合以表示由给定模式指定的集合,可以忽略空白。 请参阅类描述以了解模式语言的语法。

Parameters
pattern String: a string specifying what characters are in the set
options int: a bitmask indicating which options to apply. Valid options are IGNORE_SPACE and CASE.
Returns
UnicodeSet
Throws
IllegalArgumentException if the pattern contains a syntax error.

applyPattern

Added in API level 24
UnicodeSet applyPattern (String pattern, 
                boolean ignoreWhitespace)

修改此集合以表示由给定模式指定的集合,可以忽略空白。 请参阅类描述以了解模式语言的语法。

Parameters
pattern String: a string specifying what characters are in the set
ignoreWhitespace boolean: if true then Unicode Pattern_White_Space characters are ignored
Returns
UnicodeSet
Throws
IllegalArgumentException if the pattern contains a syntax error.

applyPropertyAlias

Added in API level 24
UnicodeSet applyPropertyAlias (String propertyAlias, 
                String valueAlias)

修改此集合以包含那些给定属性具有给定值的代码点。 此套件的先前内容已丢失。

Parameters
propertyAlias String: a property alias, either short or long. The name is matched loosely. See PropertyAliases.txt for names and a description of loose matching. If the value string is empty, then this string is interpreted as either a General_Category value alias, a Script value alias, a binary property alias, or a special ID. Special IDs are matched loosely and correspond to the following sets: "ANY" = [ valueAlias String: a value alias, either short or long. The name is matched loosely. See PropertyValueAliases.txt for names and a description of loose matching. In addition to aliases listed, numeric values and canonical combining classes may be expressed numerically, e.g., ("nv", "0.5") or ("ccc", "220"). The value string may also be empty.
Returns
UnicodeSet a reference to this set

applyPropertyAlias

Added in API level 24
UnicodeSet applyPropertyAlias (String propertyAlias, 
                String valueAlias, 
                SymbolTable symbols)

修改此集合以包含那些给定属性具有给定值的代码点。 此套件的先前内容已丢失。

Parameters
propertyAlias String: A string of the property alias.
valueAlias String: A string of the value alias.
symbols SymbolTable: if not null, then symbols are first called to see if a property is available. If true, then everything else is skipped.
Returns
UnicodeSet this set

charAt

Added in API level 24
int charAt (int index)

返回此集合中给定索引处的字符,其中集合按升序码点排序。 如果索引超出范围,则返回-1。 这种方法的indexOf()indexOf()

Parameters
index int: an index from 0..size()-1
Returns
int the character at the given index, or -1.

clear

Added in API level 24
UnicodeSet clear ()

删除此组中的所有元素。 此通话返回后,此设置将为空。

Returns
UnicodeSet

clone

Added in API level 24
Object clone ()

返回一个相当于这个的新集。

Returns
Object a clone of this instance.

cloneAsThawed

Added in API level 24
UnicodeSet cloneAsThawed ()

根据Freezable界面,克隆此类的解冻版本。

Returns
UnicodeSet the clone, not frozen

closeOver

Added in API level 24
UnicodeSet closeOver (int attribute)

通过给定的属性关闭这个集合。 对于CASE属性,结果是修改该集合,以便:1.对于此集合中的每个字符或字符串'a',所有字符串'b'都将使foldCase(a)== foldCase(b)被添加到此组。 (对于大多数'a'是单个字符,'b'将有b.length()== 1)。2.对于结果集中的每个字符串'e',如果e!= foldCase(e),'e '将被删除。 示例:[aqß{Bc} {bC} {Fi}] => [aAqQßï¬{ss} {bc} {fi}](这里foldCase(x)指UCharacter.foldCase(x,true) == b实际上表示a.equals(b),而不是指针比较。)

Parameters
attribute int: bitmask for attributes to close over. Currently only the CASE bit is supported. Any undefined bits are ignored.
Returns
UnicodeSet a reference to this set.

compact

Added in API level 24
UnicodeSet compact ()

重新分配这些对象内部结构以占用尽可能少的空间,而无需更改此对象的值。

Returns
UnicodeSet

compareTo

Added in API level 24
int compareTo (UnicodeSet o)

比较统一码集,其中较短的先到先,否则用文字方式(根据第一个不同字符的比较)。

Parameters
o UnicodeSet
Returns
int

也可以看看:

compareTo

Added in API level 24
int compareTo (UnicodeSet o, 
                UnicodeSet.ComparisonStyle style)

以三种不同的方式比较UnicodeSet。

Parameters
o UnicodeSet
style UnicodeSet.ComparisonStyle
Returns
int

也可以看看:

compareTo

Added in API level 24
int compareTo (Iterable<String> other)

Parameters
other Iterable
Returns
int

complement

Added in API level 24
UnicodeSet complement (int start, 
                int end)

补充此组中的指定范围。 如果该范围内的任何字符在该集合中将被删除,或者如果它不在该集合中,则会被添加。 如果end > start则补充一个空的范围,保持集合不变。

Parameters
start int: first character, inclusive, of range to be removed from this set.
end int: last character, inclusive, of range to be removed from this set.
Returns
UnicodeSet

complement

Added in API level 24
UnicodeSet complement ()

这相当于 complement(MIN_VALUE, MAX_VALUE)

Returns
UnicodeSet

complement

Added in API level 24
UnicodeSet complement (CharSequence s)

补充此集合中的指定字符串。 一旦调用返回,该集合将不包含指定的字符串。
警告:您不能将一个空字符串(“”)添加到UnicodeSet。

Parameters
s CharSequence: the string to complement
Returns
UnicodeSet this object, for chaining

complement

Added in API level 24
UnicodeSet complement (int c)

补充此组中的指定字符。 如果该字符在该集合中,则该字符将被移除,或者如果该字符不在该集合中,则将被添加。

Parameters
c int
Returns
UnicodeSet

complementAll

Added in API level 24
UnicodeSet complementAll (CharSequence s)

补充每个字符串中的字符。 注意:“ch”== {“c”,“h”}如果这个字符已经设置了任何特定的字符,那么它对该字符没有影响。

Parameters
s CharSequence: the source string
Returns
UnicodeSet this object, for chaining

complementAll

Added in API level 24
UnicodeSet complementAll (UnicodeSet c)

在这个补全中设置了指定集合中包含的所有元素。 如果它在这个集合中,另一个集合中的任何字符将被删除,或者如果它不在这个集合中,将被添加。

Parameters
c UnicodeSet: set that defines which elements will be complemented from this set.
Returns
UnicodeSet

contains

Added in API level 24
boolean contains (int c)

如果此集合包含给定的字符,则返回true。

Parameters
c int: character to be checked for containment
Returns
boolean true if the test condition is met

contains

Added in API level 24
boolean contains (int start, 
                int end)

如果此集合包含给定范围的每个字符,则返回true。

Parameters
start int: first character, inclusive, of the range
end int: last character, inclusive, of the range
Returns
boolean true if the test condition is met

contains

Added in API level 24
boolean contains (CharSequence s)

如果此集合包含给定的多字符字符串,则返回 true

Parameters
s CharSequence: string to be checked for containment
Returns
boolean true if this set contains the specified string

containsAll

Added in API level 24
boolean containsAll (UnicodeSet b)

如果此集合包含给定集合的所有字符和字符串,则返回true。

Parameters
b UnicodeSet: set to be checked for containment
Returns
boolean true if the test condition is met

containsAll

Added in API level 24
boolean containsAll (Iterable<T> collection)

Parameters
collection Iterable
Returns
boolean

也可以看看:

containsAll

Added in API level 24
boolean containsAll (String s)

如果存在字符串的分区,则返回true,以使该集合包含每个分区字符串。 例如,对于Unicode集合[a {bc} {cd}]
containsAll对于每一个都是正确的:“a”,“bc”,“”cdbca“
containsAll对于每一个都是错误的:“acb”,“bcda”,“bcx”

Parameters
s String: string containing characters to be checked for containment
Returns
boolean true if the test condition is met

containsNone

Added in API level 24
boolean containsNone (Iterable<T> collection)

Parameters
collection Iterable
Returns
boolean

也可以看看:

containsNone

Added in API level 24
boolean containsNone (UnicodeSet b)

如果此UnicodeSet中没有任何字符或字符串出现在字符串中,则返回true。 例如,对于Unicode集合[a {bc} {cd}]
containsNone对于:“xy”,“cb”
containsNone对于:“a”,“bc”,“bcd”

Parameters
b UnicodeSet: set to be checked for containment
Returns
boolean true if the test condition is met

containsNone

Added in API level 24
boolean containsNone (CharSequence s)

如果此集合不包含给定字符串的任何字符,则返回true。

Parameters
s CharSequence: string containing characters to be checked for containment
Returns
boolean true if the test condition is met

containsNone

Added in API level 24
boolean containsNone (int start, 
                int end)

如果此集合不包含给定范围的任何字符,则返回true。

Parameters
start int: first character, inclusive, of the range
end int: last character, inclusive, of the range
Returns
boolean true if the test condition is met

containsSome

Added in API level 24
boolean containsSome (UnicodeSet s)

如果此集合包含给定集合中的一个或多个字符和字符串,则返回true。

Parameters
s UnicodeSet: set to be checked for containment
Returns
boolean true if the condition is met

containsSome

Added in API level 24
boolean containsSome (CharSequence s)

如果此集合包含给定字符串的一个或多个字符,则返回true。

Parameters
s CharSequence: string containing characters to be checked for containment
Returns
boolean true if the condition is met

containsSome

Added in API level 24
boolean containsSome (Iterable<T> collection)

Parameters
collection Iterable
Returns
boolean

也可以看看:

containsSome

Added in API level 24
boolean containsSome (int start, 
                int end)

如果此集合包含给定范围中的一个或多个字符,则返回true。

Parameters
start int: first character, inclusive, of the range
end int: last character, inclusive, of the range
Returns
boolean true if the condition is met

equals

Added in API level 24
boolean equals (Object o)

将指定的对象与此集合进行相等比较。 如果指定的对象也是一个集合,则两个集合具有相同的大小,并且指定集合中的每个成员都包含在此集合中(或等价地,此集合中的每个成员都包含在指定集合中),则返回true

Parameters
o Object: Object to be compared for equality with this set.
Returns
boolean true if the specified Object is equal to this set.

freeze

Added in API level 24
UnicodeSet freeze ()

根据Freezable界面,将这个类冻结。

Returns
UnicodeSet this

from

Added in API level 24
UnicodeSet from (CharSequence s)

从多字符字符串中创建一个集合。 因此“ch”=> {“ch”}
警告:您不能将一个空字符串(“”)添加到UnicodeSet。

Parameters
s CharSequence: the source string
Returns
UnicodeSet a newly created set containing the given string

fromAll

Added in API level 24
UnicodeSet fromAll (CharSequence s)

从字符串中的每个字符创建一个集合。 因此“ch”=> {“c”,“h”}

Parameters
s CharSequence: the source string
Returns
UnicodeSet a newly created set containing the given characters

getRangeCount

Added in API level 24
int getRangeCount ()

迭代方法,返回此集合中包含的范围数。

Returns
int

也可以看看:

getRangeEnd

Added in API level 24
int getRangeEnd (int index)

迭代方法,返回该集合指定范围内的最后一个字符。

Parameters
index int
Returns
int
Throws
ArrayIndexOutOfBoundsException if index is outside the range 0..getRangeCount()-1

也可以看看:

getRangeStart

Added in API level 24
int getRangeStart (int index)

迭代方法,返回该集合指定范围内的第一个字符。

Parameters
index int
Returns
int
Throws
ArrayIndexOutOfBoundsException if index is outside the range 0..getRangeCount()-1

也可以看看:

hashCode

Added in API level 24
int hashCode ()

返回此集合的哈希码值。

Returns
int the hash code value for this set.

也可以看看:

indexOf

Added in API level 24
int indexOf (int c)

返回此集合中给定字符的索引,其中集合按升序代码点排序。 如果该字符不在此集合中,则返回-1。 这种方法的逆过程是charAt()

Parameters
c int
Returns
int an index from 0..size()-1, or -1

isEmpty

Added in API level 24
boolean isEmpty ()

如果此集合不包含元素,则返回 true

Returns
boolean true if this set contains no elements.

isFrozen

Added in API level 24
boolean isFrozen ()

根据Freezable界面,这是否被冻结?

Returns
boolean value

iterator

Added in API level 24
Iterator<String> iterator ()

返回一个字符串迭代器。 使用与UnicodeSetIterator相同的迭代UnicodeSetIterator

警告:对于速度,UnicodeSet迭代不检查并发修改。 迭代时不要更改UnicodeSet。

Returns
Iterator<String> an Iterator.

也可以看看:

matches

Added in API level 24
int matches (Replaceable text, 
                int[] offset, 
                int limit, 
                boolean incremental)

UnicodeMatcher.matches()的实现。 始终匹配最长的多字符串。

Parameters
text Replaceable: the text to be matched
offset int: on input, the index into text at which to begin matching. On output, the limit of the matched text. The number of matched characters is the output value of offset minus the input value. Offset should always point to the HIGH SURROGATE (leading code unit) of a pair of surrogates, both on entry and upon return.
limit int: the limit index of text to be matched. Greater than offset for a forward direction match, less than offset for a backward direction match. The last character to be considered for matching will be text.charAt(limit-1) in the forward direction or text.charAt(limit+1) in the backward direction.
incremental boolean: if TRUE, then assume further characters may be inserted at limit and check for partial matching. Otherwise assume the text as given is complete.
Returns
int a match degree value indicating a full match, a partial match, or a mismatch. If incremental is FALSE then U_PARTIAL_MATCH should never be returned.

matchesIndexValue

Added in API level 24
boolean matchesIndexValue (int v)

UnicodeMatcher API的实现。 如果此集合包含任何低字节为给定值的字符,则返回true 这被RuleBasedTransliterator用于索引。

Parameters
v int
Returns
boolean

ranges

Added in API level 24
Iterable<UnicodeSet.EntryRange> ranges ()

提供比String更快的迭代。 返回代码点范围内的Iterable / Iterator。 在迭代期间,UnicodeSet不能被改变。 EntryRange实例每次都是一样的; 内容只是重置。

警告:要遍历整个内容,还必须迭代字符串。

警告:对于速度,UnicodeSet迭代不检查并发修改。 迭代时不要更改UnicodeSet。

 // Sample code
 for (EntryRange range : us1.ranges()) {
     // do something with code points between range.codepoint and range.codepointEnd;
 }
 for (String s : us1.strings()) {
     // do something with each string;
 }
 

Returns
Iterable<UnicodeSet.EntryRange>

remove

Added in API level 24
UnicodeSet remove (int start, 
                int end)

如果存在,则从该组中删除指定的范围。 一旦呼叫返回,该集合将不包含指定的范围。 如果end > start则删除空的范围,保持集合不变。

Parameters
start int: first character, inclusive, of range to be removed from this set.
end int: last character, inclusive, of range to be removed from this set.
Returns
UnicodeSet

remove

Added in API level 24
UnicodeSet remove (CharSequence s)

如果存在,则从该集合中删除指定的字符串。 一旦调用返回,该集合将不包含指定的字符串。

Parameters
s CharSequence: the string to be removed
Returns
UnicodeSet this object, for chaining

remove

Added in API level 24
UnicodeSet remove (int c)

如果存在,则从该集合中删除指定的字符。 一旦呼叫返回,该集合将不包含指定的字符。

Parameters
c int: the character to be removed
Returns
UnicodeSet this object, for chaining

removeAll

Added in API level 24
UnicodeSet removeAll (Iterable<T> collection)

Parameters
collection Iterable
Returns
UnicodeSet

也可以看看:

removeAll

Added in API level 24
UnicodeSet removeAll (UnicodeSet c)

从该集合中删除指定集合中包含的所有元素。 这个操作有效地修改了这个集合,使它的值是两个集合的不对称集合差异

Parameters
c UnicodeSet: set that defines which elements will be removed from this set.
Returns
UnicodeSet

removeAll

Added in API level 24
UnicodeSet removeAll (CharSequence s)

删除此字符串中的每个字符。 注意:“ch”== {“c”,“h”}如果这个字符已经设置了任何特定的字符,那么它对该字符没有影响。

Parameters
s CharSequence: the source string
Returns
UnicodeSet this object, for chaining

removeAllStrings

Added in API level 24
UnicodeSet removeAllStrings ()

从该UnicodeSet中删除所有字符串

Returns
UnicodeSet this object, for chaining

retain

Added in API level 24
UnicodeSet retain (int start, 
                int end)

仅保留包含在指定范围内的该组中的元素。 如果end > start则保留空的范围,将该集合留空。

Parameters
start int: first character, inclusive, of range to be retained to this set.
end int: last character, inclusive, of range to be retained to this set.
Returns
UnicodeSet

retain

Added in API level 24
UnicodeSet retain (CharSequence cs)

如果存在,则保留此组中的指定字符串。 返回时,如果该集合不包含s,则该集合将为空;如果包含s,则只包含s。

Parameters
cs CharSequence: the string to be retained
Returns
UnicodeSet this object, for chaining

retain

Added in API level 24
UnicodeSet retain (int c)

如果存在,则保留该集合中的指定字符。 返回时,如果该集合不包含c,则该集合将为空;如果包含c,则只包含c。

Parameters
c int: the character to be retained
Returns
UnicodeSet this object, for chaining

retainAll

Added in API level 24
UnicodeSet retainAll (CharSequence s)

保留此字符串中的每个字符。 注意:“ch”== {“c”,“h”}如果这个字符已经设置了任何特定的字符,那么它对该字符没有影响。

Parameters
s CharSequence: the source string
Returns
UnicodeSet this object, for chaining

retainAll

Added in API level 24
UnicodeSet retainAll (UnicodeSet c)

只保留包含在指定集合中的这个集合中的元素。 换句话说,从这个集合中删除所有未包含在指定集合中的元素。 这个操作有效地修改了这个集合,使它的值是两个集合的交集

Parameters
c UnicodeSet: set that defines which elements this set will retain.
Returns
UnicodeSet

retainAll

Added in API level 24
UnicodeSet retainAll (Iterable<T> collection)

Parameters
collection Iterable
Returns
UnicodeSet

也可以看看:

set

Added in API level 24
UnicodeSet set (UnicodeSet other)

使这个对象代表与 other相同的集合。

Parameters
other UnicodeSet: a UnicodeSet whose value will be copied to this object
Returns
UnicodeSet

set

Added in API level 24
UnicodeSet set (int start, 
                int end)

使这个对象代表范围start - end 如果end > start那么这个对象被设置为一个空的范围。

Parameters
start int: first character in the set, inclusive
end int: last character in the set, inclusive
Returns
UnicodeSet

size

Added in API level 24
int size ()

返回此集合(它的基数)中元素的数量注意,集合中的元素可能包含单独的代码点和字符串。

Returns
int the number of elements in this set (its cardinality).

span

Added in API level 24
int span (CharSequence s, 
                int start, 
                UnicodeSet.SpanCondition spanCondition)

使用此UnicodeSet跨越一个字符串。 如果起始索引小于0,则跨度将从0开始。如果起始索引大于字符串长度,则跨度将返回字符串长度。

要替换,计算元素或删除跨度,请参阅 UnicodeSetSpanner

Parameters
s CharSequence: The string to be spanned
start int: The start index that the span begins
spanCondition UnicodeSet.SpanCondition: The span condition
Returns
int the string index which ends the span (i.e. exclusive)

span

Added in API level 24
int span (CharSequence s, 
                UnicodeSet.SpanCondition spanCondition)

使用此UnicodeSet跨越一个字符串。

要替换,计算元素或删除跨度,请参阅 UnicodeSetSpanner

Parameters
s CharSequence: The string to be spanned
spanCondition UnicodeSet.SpanCondition: The span condition
Returns
int the length of the span

spanBack

Added in API level 24
int spanBack (CharSequence s, 
                UnicodeSet.SpanCondition spanCondition)

使用此UnicodeSet向后(从最后)跨度字符串。

要替换,计算元素或删除跨度,请参阅 UnicodeSetSpanner

Parameters
s CharSequence: The string to be spanned
spanCondition UnicodeSet.SpanCondition: The span condition
Returns
int The string index which starts the span (i.e. inclusive).

spanBack

Added in API level 24
int spanBack (CharSequence s, 
                int fromIndex, 
                UnicodeSet.SpanCondition spanCondition)

使用此UnicodeSet向后跨越一个字符串(从fromIndex开始)。 如果fromIndex小于0,则spanBack将返回0.如果fromIndex大于字符串长度,则spanBack将从字符串长度开始。

要替换,计算元素或删除跨度,请参阅 UnicodeSetSpanner

Parameters
s CharSequence: The string to be spanned
fromIndex int: The index of the char (exclusive) that the string should be spanned backwards
spanCondition UnicodeSet.SpanCondition: The span condition
Returns
int The string index which starts the span (i.e. inclusive).

strings

Added in API level 24
Collection<String> strings ()

遍历集合中的字符串。 例:

 for (String key : myUnicodeSet.strings()) {
   doSomethingWith(key);
 }
 

Returns
Collection<String>

toPattern

Added in API level 24
String toPattern (boolean escapeUnprintable)

返回此集合的字符串表示形式。 如果调用这个函数的结果被传递给一个UnicodeSet构造函数,它将产生另一个等于这个的集合。

Parameters
escapeUnprintable boolean
Returns
String

toString

Added in API level 24
String toString ()

返回此对象的程序员可读的字符串表示形式。

Returns
String a string representation of the object.

Hooray!