java判断字符位置正确的是什么意思?java怎么查找字符串第一个字符
大家好,今天小编来为大家解答java判断字符位置正确的是什么意思这个问题,java怎么查找字符串第一个字符很多人还不知道,现在让我们一起来看看吧!
java怎么查找字符串第一个字符
通过indexOf进行查找
示例:
String str="abcdefg";
if(str.indexOf("cd")>=0){//这里查找str中是否存在"cd"字符串,如果存在则会返回大于等于0的数,如果不存在,则返回-1
System.out.println("找到了");
}
补充indexOf
1、返回 String对象内第一次出现子字符串的字符位置。
2、string.indexOf(subString[, startIndex])
1)参数
string
必选项。String对象或文字。
subString必选项。
要在 String对象中查找的子字符串。
starIndex可选项。
该整数值指出在 String对象内开始查找的索引。如果省略,则从字符串的开始处查找。
2)说明
indexOf方法返回一个整数值,指出 String对象内子字符串的开始位置。如果没有找到子字符串,则返回-1。
在java中如何判断一个字符串是中文的还是英文的
下满给出示例代码,希望对你有帮助
Java中判断字符串的编码有两种思路:
一种是根据byte的长度判断,英文的字母数字好标点符号都是一个byte,且值在0-255之间
另一种是根据中文的Unicode取值范围判断,这个就是把所以的范围都包含,才能判断正确,参考unicode中文范围:
示例代码:
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;
publicclassStringTest{
//英文占1byte,非英文(可认为是中文)占2byte,根据这个特性来判断字符
publicstaticbooleancheckChar(charch){
if((ch+"").getBytes().length==1){
returntrue;//英文
}else{
returnfalse;//中文
}
}
publicstaticStringcheckString(Stringstr){
Stringres="";
if(str!=null){
for(inti=0;i<str.length();i++){
//只要字符串中有中文则为中文
if(!checkChar(str.charAt(i))){
res="中文";
break;
}else{
res="英文";
}
}
}
returnres;
}
//判断是不是中文
publicstaticbooleanisChinese(charc){
Character.UnicodeBlockub=Character.UnicodeBlock.of(c);
if(ub==Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS
||ub==Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
||ub==Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
||ub==Character.UnicodeBlock.GENERAL_PUNCTUATION
||ub==Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
||ub==Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS){
returntrue;
}
returnfalse;
}
//判断是不是英文字母
publicstaticbooleanisEnglish(StringcharaString){
returncharaString.matches("^[a-zA-Z]*");
}
//根据中文unicode范围判断u4e00~u9fa5不全
publicstaticStringisChinese(Stringstr){
StringregEx1="[\\u4e00-\\u9fa5]+";
StringregEx2="[\\uFF00-\\uFFEF]+";
StringregEx3="[\\u2E80-\\u2EFF]+";
StringregEx4="[\\u3000-\\u303F]+";
StringregEx5="[\\u31C0-\\u31EF]+";
Patternp1=Pattern.compile(regEx1);
Patternp2=Pattern.compile(regEx2);
Patternp3=Pattern.compile(regEx3);
Patternp4=Pattern.compile(regEx4);
Patternp5=Pattern.compile(regEx5);
Matcherm1=p1.matcher(str);
Matcherm2=p2.matcher(str);
Matcherm3=p3.matcher(str);
Matcherm4=p4.matcher(str);
Matcherm5=p5.matcher(str);
if(m1.find()||m2.find()||m3.find()||m4.find()||m5.find())
return"中文";
else
return"英文";
}
publicstaticvoidmain(String[]args){
System.out.println("使用长度判断:");
System.out.println(checkString("Hello++"));
System.out.println(checkString("Hello++。、,?"));
System.out.println(checkString("Hello++编程"));
System.out.println(checkString("编程"));
System.out.println("\r\n使用正则表达式判断:");
System.out.println(isChinese("Hello++"));
System.out.println(isChinese("Hello++。、,?"));
System.out.println(isChinese("Hello++编程"));
System.out.println(isChinese("编程"));
System.out.println("\r\n使用Character.UnicodeBlock");
System.out.println(isChinese('h')?"中文":"英文");
System.out.println(isChinese(',')?"中文":"英文");
System.out.println(isChinese('。')?"中文":"英文");
System.out.println(isChinese('编')?"中文":"英文");
}
}
java判断字符串s1是否以字符串s2开头
语法:
startWith(String prefix, int toffset)
prefix:指定的前缀
toffset:在字符串中查找的位置,可以省略,省略就从第一个下标开始查找
String strTest="helloWord";
System.out.println(strTest.startsWith("hello"));//输出true
System.out.println(mobile.startsWith("helloY"));//输出false
System.out.println(mobile.startsWith("hello",4));//输出false
复制
Java判断String是否以某个字符串结尾:
endWith(String prefix, int toffset)
String strTest="helloWord";
System.out.println(strTest.cc("Word"));//输出true
System.out.println(strTest.endsWith("words"));//输出false
复制
如何把list集合拼接成以逗号分隔的字符串 a,b,c
List<String> list= Arrays.asList("a","b","c");
//第一种方法,可以用stream流
String join= list.stream().collect(Collectors.joining(","));
System.out.println(join);//输出 a,b,c
//第二种方法,其实String也有join方法可以实现这个功能
String join= String.join(",", list);
System.out.println(join);//输出 a,b,c
复制
判断字符串第一个字符是否是指定字符,并删除
if(result.startsWith("|")){
result= result.substring(1);
}
复制
判断字符串最后一个字符是否是指定字符,并删除(stringBuilder)
if(result.length()> 0&& result.charAt(result.length()- 1)=='|'){
result.deleteCharAt(result.length()-1);
}
java 字符串中判断字母大小写方法
方法一:
根据 Character类提供的大小写判断方法
```java
Character.isUpperCase(c);//是否是大写
Character.isUpperCase(c);//是否是小写
```
方法二:
通过 ASCII码判断字母大小写,ASCII在 65-90之间是大写,97-122是小写
```java
/*
*是否是大写
*/
public boolean isUpperCase(char c){
return c>=65&& c<= 90;
}
/*
*是否是小写
*/
public boolean isLowerCase(char c){
return c>=97&& c<= 122;
}
```
扩展资料:
大小写互相转换
方法一
根据 Character类提供的大小写转换方法
```java
/*
*小写转大写
*/
public char toUpper(char c){
return Character.isLowerCase(c)? c: Character.toUpperCase(c);
}
/*
*大写转小写
*/
public char toLower(char c){
return Character.isUpperCase(c)? c: Character.toLowerCase(c);
}
```
方法二
通过 ASCII加 32转换为小写,减 32转换为大写
```java
/*
*是否是大写
*/
public boolean isUpperCase(char c){
return c>=65&& c<= 90;
}
/*
*是否是小写
*/
public boolean isLowerCase(char c){
return c>=97&& c<= 122;
}
```
字符串大写转小写,小写转大写
public class WordUpperLow{
public static void main(String[] args){
new WordUpperLow().upToLowToUp("HeLLoWoRlD");
}
public void upToLowToUp(String str){
/*
*方法一根据 char的工具类 Character
*/
char[] chars= str.toCharArray();
for(int i= 0, length= chars.length; i< length; i++){
char c= chars[i];
//判断字母是不是大写,如果是大写变为小写
if(Character.isUpperCase(c)){
chars[i]= Character.toLowerCase(c);
continue;
}
//如果为小写,变为大写
chars[i]= Character.toUpperCase(c);
}
String str1= new String(chars);
System.err.println(str1);
/*
*方法二
*通过ASCII码判断字母大小写 ASCII在65-90之间是大写,97-122是小
*大转小加32小转大减去32
*/
byte[] bytes= str.getBytes();
for(int i= 0, length= bytes.length; i< length; i++){
//如果ASCII在65-90之间为大写,加上32变为小写
if(bytes[i]>= 65&& bytes[i]<= 90){
bytes[i]+= 32;
//如果ASCII在97-122之间为小写,减去32变为大写
} else if(bytes[i]>= 97&& bytes[i]<= 122){
bytes[i]-= 32;
}
}
String str2= new String(bytes);
System.err.println(str2);
}
/*
*小写转大写
*/
public char toUpper(char c){
return c>=65&& c<= 90? c:(char)(c- 32);
}
/*
*大写转小写
*/
public char toLower(char c){
return c>=97&& c<= 122? c:(char)(c+ 32);
}
/*
*是否是大写
*/
public boolean isUpperCase(char c){
// Character.isUpperCase(c);
return c>=65&& c<= 90;
}
/*
*是否是小写
*/
public boolean isLowerCase(char c){
// Character.isLowerCase(c);
return c>=97&& c<= 122;
}
}
参考资料:百度百科-Java字符
好了,文章到此结束,希望可以帮助到大家。