在java字符串中如何判断字符的类型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在java字符串中如何判断字符的类型相关的知识,希望对你有一定的参考价值。

public static void main(String[] args)
String str="ABC_001";
if(str.indexOf("ABC")!=-1)
System.out.println("包含");
else System.out.println("不包含");



js 判断字符串是否包含某字符串,String对象中查找子字符,indexOf

var Cts
= "bblText";

if(Cts.indexOf("Text")
> 0 )

alert('Cts中包含Text字符串');


indexOf用法:

返回 String 对象内第一次出现子字符串的字符位置。

strObj.indexOf(subString[, startIndex])

参数
strObj

必选项。String 对象或文字。

subString

必选项。要在 String 对象中查找的子字符串。

starIndex

可选项。该整数值指出在 String 对象内开始查找的索引。如果省略,则从字符串的开始处查找。

说明
indexOf 方法返回一个整数值,指出 String 对象内子字符串的开始位置。如果没有找到子字符串,则返回 -1。

如果 startindex 是负数,则 startindex 被当作零。如果它比最大的字符位置索引还大,则它被当作最大的可能索引。

从左向右执行查找。否则,该方法与 lastIndexOf 相同。

示例
下面的示例说明了 indexOf 方法的用法。

function IndexDemo(str2)
var str1 = "BABEBIBOBUBABEBIBOBU"
var s = str1.indexOf(str2);
return(s);


对于javascript的indexOf忽略大小写

javascript中indexOf函数方法返回一个整数值,指出 String 对象内子字符串的开始位置。如果没有找到子字符串,则返回 -1。如果 startindex 是负数,则 startindex 被当作零。如果它比最大的字符位置索引还大,则它被当作最大的可能索引。

indexOf函数是从左向右执行查找。否则,该方法与 lastIndexOf 相同。

下面的示例说明了indexOf函数方法的用法。

function IndexDemo(str2)
var str1
= "BABEBIBOBUBABEBIBOBU"
var s
= str1.indexOf(str2);
return(s);


java截取相关
1、length() 字符串的长度
例:char chars[]='a','b'.'c';
String s=new String(chars);
int len=s.length();
2、charAt() 截取一个字符
例:char ch;
ch="abc".charAt(1); 返回'b'
3、getChars() 截取多个字符
void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)
sourceStart指定了子串开始字符的下标,sourceEnd指定了子串结束后的下一个字符的下标。因此,子串包含从sourceStart到sourceEnd-1的字符。接收字符的数组由target指定,target中开始复制子串的下标值是targetStart。
例:String s="this is a demo of the getChars method.";
char buf[]=new char[20];
s.getChars(10,14,buf,0);
4、getBytes()
替代getChars()的一种方法是将字符存储在字节数组中,该方法即getBytes()。
5、toCharArray()
6、equals()和equalsIgnoreCase() 比较两个字符串
7、regionMatches() 用于比较一个字符串中特定区域与另一特定区域,它有一个重载的形式允许在比较中忽略大小写。
boolean regionMatches(int startIndex,String str2,int str2StartIndex,int numChars)
boolean regionMatches(boolean ignoreCase,int startIndex,String str2,int str2StartIndex,int numChars)
8、startsWith()和endsWith()
startsWith()方法决定是否以特定字符串开始,endWith()方法决定是否以特定字符串结束
9、equals()和==
equals()方法比较字符串对象中的字符,==运算符比较两个对象是否引用同一实例。
例:String s1="Hello";
String s2=new String(s1);
s1.eauals(s2); //true
s1==s2;//false
10、compareTo()和compareToIgnoreCase() 比较字符串
11、indexOf()和lastIndexOf()
indexOf() 查找字符或者子串第一次出现的地方。
lastIndexOf() 查找字符或者子串是后一次出现的地方。
12、substring()
它有两种形式,第一种是:String substring(int startIndex)
第二种是:String substring(int startIndex,int endIndex)
13、concat() 连接两个字符串
14 、replace() 替换
它有两种形式,第一种形式用一个字符在调用字符串中所有出现某个字符的地方进行替换,形式如下:
String replace(char original,char replacement)
例如:String s="Hello".replace('l','w');
第二种形式是用一个字符序列替换另一个字符序列,形式如下:
String replace(CharSequence original,CharSequence replacement)
15、trim() 去掉起始和结尾的空格
16、valueOf() 转换为字符串
17、toLowerCase() 转换为小写
18、toUpperCase() 转换为大写
19、StringBuffer构造函数
StringBuffer定义了三个构造函数:
StringBuffer()
StringBuffer(int size)
StringBuffer(String str)
StringBuffer(CharSequence chars)

(1)、length()和capacity()
一个StringBuffer当前长度可通过length()方法得到,而整个可分配空间通过capacity()方法得到。

(2)、ensureCapacity() 设置缓冲区的大小
void ensureCapacity(int capacity)
(3)、setLength() 设置缓冲区的长度
void setLength(int len)
(4)、charAt()和setCharAt()
char charAt(int where)
void setCharAt(int where,char ch)
(5)、getChars()
void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)
(6)、append() 可把任何类型数据的字符串表示连接到调用的StringBuffer对象的末尾。
例:int a=42;
StringBuffer sb=new StringBuffer(40);
String s=sb.append("a=").append(a).append("!").toString();
(7)、insert() 插入字符串
StringBuffer insert(int index,String str)
StringBuffer insert(int index,char ch)
StringBuffer insert(int index,Object obj)
index指定将字符串插入到StringBuffer对象中的位置的下标。
(8)、reverse() 颠倒StringBuffer对象中的字符
StringBuffer reverse()
(9)、delete()和deleteCharAt() 删除字符
StringBuffer delete(int startIndex,int endIndex)
StringBuffer deleteCharAt(int loc)
(10)、replace() 替换
StringBuffer replace(int startIndex,int endIndex,String str)
(11)、substring() 截取子串
String substring(int startIndex)
String substring(int startIndex,int endIndex)
参考技术A

方法:

1、打开MyEclipse 并新建类“Test”

2、编写判断方法,其实方法很简单只有两行代码:

public static boolean isContain(String s1,String s2) 
return s1.contains(s2);

第一个参数s1 中是否包含s2

3、编写main方法代码:

public static void main(String[] args) 
Test t = new Test();
System.out.println(t.isContain("123", "3"));

4、运行结果:true

参考技术B

    1.使用Character.isDigit(char)判断
    char num[] = str.toCharArray();//把字符串转换为字符数组
    StringBuffer title = new StringBuffer();//使用StringBuffer类,把非数字放到title中
    StringBuffer hire = new StringBuffer();//把数字放到hire中
    for (int i = 0; i < num.length; i++)
    // 判断输入的数字是否为数字还是字符
    if (Character.isDigit(num[i])) 把字符串转换为字符,再调用Character.isDigit(char)方法判断是否是数字,是返回True,否则False
    hire.append(num[i]);// 如果输入的是数字,把它赋给hire else title.append(num[i]);// 如果输入的是字符,把它赋给title
    2.使用类型转换判断try String str="123abc";
    int num=Integer.valueOf(str);//把字符串强制转换为数字
    return true;//如果是数字,返回True
    catch (Exception e)
    return false;//如果抛出异常,返回False
    3.使用正则表达式判断
    String str = "";
    boolean isNum = str.matches("[0-9]+");
    //+表示1个或多个(如"3"或"225"),*表示0个或多个([0-9]*)(如""或"1"或"22"),?表示0个或1个([0-9]?)(如""或"7")
    ps:这个方法只能用于判断是否是正整数

参考技术C 可以通过以下方法来进行编码格式判断,输入一个字符串,之后返回字符串编码类型。
public static String getEncoding(String str)
String encode = "GB2312";
try
if (str.equals(new String(str.getBytes(encode), encode))) //判断是不是GB2312
String s = encode;
return s; //是的话,返回“GB2312“,以下代码同理

catch (Exception exception)

encode = "ISO-8859-1";
try
if (str.equals(new String(str.getBytes(encode), encode))) //判断是不是ISO-8859-1
String s1 = encode;
return s1;

catch (Exception exception1)

encode = "UTF-8";
try
if (str.equals(new String(str.getBytes(encode), encode))) //判断是不是UTF-8
String s2 = encode;
return s2;

catch (Exception exception2)

encode = "GBK";
try
if (str.equals(new String(str.getBytes(encode), encode))) //判断是不是GBK
String s3 = encode;
return s3;

catch (Exception exception3)

return ""; //如果都不是,说明输入的内容不属于常见的编码格式。

判断字符串中是不是含有中文

1、用ASCII码判断
在 ASCII码表中,英文的范围是0-127,而汉字则是大于127,具体代码如下:

string text = "是不是汉字,ABC,柯乐义";
for (int i = 0; i < text.Length; i++)

if ((int)text[i] > 127)

Console.WriteLine("是汉字");
else
Console.WriteLine("不是汉字");

参考技术A 中文字符编码,一般在char类型下是负数。或者大于126

以上是关于在java字符串中如何判断字符的类型的主要内容,如果未能解决你的问题,请参考以下文章

java中如何判断两个变量相等

java 字符串为null 如何判断

java如何判断一个字符串中是不是包含标点符号(任意标点符号,非特定)?

Java中怎样判断一个字符串是不是是数字

java判断字符串是否数字类型

判断java或js中的某个字符串中是不是包含有某个字符或是字符串