Java 字符串由一组字符组成,每个字符都与一个 Unicode 点值(别名 ASCII 值)相关联。因此,要获取字符串中字符的 Unicode 点值,我们将使用 codepoint() 方法。
因此,为了更进一步,我们需要知道每个字符的相关 Unicode 值是什么。
Letters | Unicode Values |
---|---|
大写/大写字母 (A-Z) | A-65、B-66、C-67、…….、Y-89、Z-90 |
小写/小写字母(a-z) | a-97、b-98、c-99、…….、y-121、z-122 |
不仅字母而且符号、空白等都与一些 Unicode 点值相关联,例如空白是 32。
有 4 种类型的代码点方法可用。他们是-
- codePointAt
- codePointBefore
- codePointCount
- offsetByCodePoints
让我们与语法和示例一起详细讨论它。
1. codePointAt() 方法
此方法接受一个整数,该整数指定字符串中的索引值,并返回一个整数,该整数表示字符串中指定索引处字符的 Unicode 点值。如果索引无效,则抛出 IndexOutOfBoundsException。
用法
stringVariable.codePointAt(index_value)
范例1:
Java
// Java program to demonstrate
// the String codePointAt() Method
import java.io.*;
class GFG {
public static void main(String[] args)
{
// initialization and declaration
String str = "Geeks for Geeks";
// finidng codepoint value for character at index 1
int e_codepoint = str.codePointAt(1);
System.out.println(e_codepoint);
}
}
101
解释:在索引 1 处,我们有一个字母 ‘e’。所以 codePointAt() 方法返回 e 的 unicode 代码点值。
范例2:
Java
// Java program to demonstrate
// the String codePointAt() Method
import java.io.*;
class GFG {
public static void main(String[] args)
{
// initialization and declaration
String str = "Geeks for Geeks";
// finidng codepoint value for invalid index
int e_codepoint = str.codePointAt(20);
System.out.println(e_codepoint);
}
}
输出
说明:这里的字符串大小是 15,但我们将索引值传递为 20,这超出了字符串的大小。它将被视为无效索引并引发错误。
2. codePointBefore() 方法
此方法接受一个整数,该整数指定字符串中的索引值,并返回一个整数,该整数表示字符串中指定索引处之前字符的 Unicode 点值。如果索引无效,即如果传递的值小于 1 或大于字符串长度,则抛出 IndexOutOfBoundsException。
用法
stringVariable.codePointBefore(index_value)
代码
Java
// Java program to demonstrate
// the String codePointBefore() Method
import java.io.*;
class GFG {
public static void main(String[] args)
{
// initialization and declaration
String str = "Geeks for Geeks";
// finidng codepoint value for character at index 0
// index-1 (before)
int G_codepoint = str.codePointBefore(1);
System.out.println(G_codepoint);
}
}
71
说明:我们传递的索引是 1,但是这里的方法是 codePointBefore,它从指定的索引 G 及其 Unicode 代码点值 71 中查找前一个字符。
3. codePointCount() 方法
此方法接受 2 个参数 start_index 和 end_index 并返回两个指定索引之间存在的 Unicode 代码点数。这里 start_index 是包容性的,而 end_index 是排斥性的。如果任何无效索引作为参数传递,则会发生 IndexOutOfBoundException。
用法
stringVariable.codePointCount(start_index, end_index)
代码
Java
// Java program to demonstrate
// the String codePointCount() Method
import java.io.*;
class GFG {
public static void main(String[] args)
{
// initialization and declaration
String str = "Geeks for Geeks";
// finidng no of codepoint values
// between specified indexes
int codepoints_count = str.codePointCount(1, 5);
System.out.println(codepoints_count);
}
}
4
解释:在字符串 str 的 1 到 5 个索引位置之间有 4 个字母 - ‘e’, ‘e’、‘k’, ‘s’。所以它返回 4 作为结果。
4. offsetByCodePoints() 方法
此方法接受 2 个参数作为参数,一个是索引值,另一个是 offset_value。 offsetByCodePoints 返回与指定索引偏移 offset_value 的字符串中的索引值。
用法
stringVariable.offsetByCodePoints(index_value, offset_value)
Java
// Java program to demonstrate
// the String offsetCodePoints() Method
import java.io.*;
class GFG {
public static void main(String[] args)
{
// initialization and declaration
String str = "Geeks for Geeks";
// finidng index in a string that is
// offset from specified index
int index_byOffset = str.offsetByCodePoints(1, 5);
System.out.println(index_byOffset);
}
}
6
说明:在本例中,offsetByCodePoints 从指定的 index:1 返回 offset_value:5 的索引,即 1+5=6。
这些都是与codePoint主题相关的所有方法。
相关用法
- Java String format()用法及代码示例
- Java String toUpperCase()用法及代码示例
- Java String subSequence()用法及代码示例
- Java String repeat()用法及代码示例
- Java String toString()用法及代码示例
- Java Matcher quoteReplacement(String)用法及代码示例
- Java Matcher start(String)用法及代码示例
- Java Matcher group(String)用法及代码示例
- Java Matcher replaceAll(String)用法及代码示例
- Java Matcher appendReplacement(StringBuilder, String)用法及代码示例
- Java Matcher appendReplacement(StringBuffer, String)用法及代码示例
- Java ZoneOffset of(String)用法及代码示例
- Java PrintWriter println(String)用法及代码示例
- Java PrintWriter print(String)用法及代码示例
- Java PrintWriter write(String, int, int)用法及代码示例
- Java PrintWriter write(String)用法及代码示例
- Java PrintWriter printf(Locale, String, Object)用法及代码示例
- Java PrintWriter printf(String, Object)用法及代码示例
- Java PrintWriter format(String, Object)用法及代码示例
- Java PrintStream printf(String, Object)用法及代码示例
- Java PrintWriter format(Locale, String, Object)用法及代码示例
- Java PrintStream format(Locale, String, Object)用法及代码示例
注:本文由纯净天空筛选整理自akhilvasabhaktula03大神的英文原创作品 Java String codePoint() Method with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。