字符集(character set)是一个系统支持的所有抽象字符的集合。字符(character)就是各种文字和符号,包括国家文字、标点符号、图形符号、数字等。
如果仅仅是抽象的字符集,其实是顾名思义的,但是我们常说的字符集,其实是指编码字符集(coded character set),比如: Unicode、ASCII、GB2312、GBK等等。什么是编码字符集呢?编码字符集是指,这个字符集里的每一个字符,都对应到唯一的一个代码值,这些代码值叫做代码点(code point),可以看做是这个字符在编码字符集里的序号,字符在给定的编码方式下的二进制比特序列称为代码单元(code unit)。在Unicode字符集中,字母A对应的数值是十六进制下的0041,书写时前面加U+,所以Unicode里A的代码点是U+0041。
常见的编码字符集有:
Unicode:也叫统一字符集,它包含了几乎世界上所有的已经发现且需要使用的字符(如中文、日文、英文、德文等)。
ASCII:早期的计算机系统只能处理英文,所以ASCII也就成为了计算机的缺省字符集,包含了英文所需要的所有字符。
GB2312:中文字符集,包含ASCII字符集。ASCII部分用单字节表示,剩余部分用双字节表示。
GBK:GB2312的扩展,完整包含了GB2312的所有内容。
GB18030:GBK字符集的超集,常叫大汉字字符集,也叫CJK(Chinese,Japanese,Korea)字符集,包含了中、日、韩三国语言中的所有字符。
学习相关java类知识,推荐来北京尚学堂,优秀的师资和科学的授课方式,会带给你完美的学习体验。
假设你说的第一个字符串是A,第二个是B判断A中是否有一个字符或者一段字符串包含于B中:boolean ifContrain = falsefor(int i = 0 i <A.length - 1 i ++ ){for(int j = i + 1 j <A.length j++ ){if(B.contains(A.subString(i , j ))){ifContrain = true }}}最后看ifContrain是true,则包含,是false,就是不包含。如果想要看包含的是哪段,就在ifContrain = true一句后面再加一句 输出 A.subString(i , j ) 就行了。Java中字符串中子串的查找共有四种方法,如下:1、int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引。
2、int indexOf(String str, int startIndex):从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。
3、int lastIndexOf(String str) :返回在此字符串中最右边出现的指定子字符串的索引。
4、int lastIndexOf(String str, int startIndex) :从指定的索引处开始向后搜索,返回在此字符串中最后一次出现的指定子字符串的索引。
示例
下面的示例说明了 indexOf 方法的用法。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function IndexDemo(str2){
var str1 = "BABEBIBOBUBABEBIBOBU"
var s = str1.indexOf(str2)
return(s)
}
public class FirstDemo {
/**
*API中String的常用方法
*/
// 查找指定字符串是否存在
public static void main(String[] args) {
String str1 = "abcdefghijklmnabc"
// 从头开始查找是否存在指定的字符
System.out.println(str1.indexOf("c"))
// 从第四个字符位置开始往后继续查找
System.out.println(str1.indexOf("c", 3))
//若指定字符串中没有该字符则系统返回-1
System.out.println(str1.indexOf("x"))
}