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

作者&投稿:貂屠 (若有异议请与网页底部的电邮联系)
如何判断字符串中,包含子字符串~

string strDec = "天网";
string strFirewall = "防火墙";
//返回-1,表是不包含子字符串
if((strSrc.find(strDec) != -1) && (strSrc.find(strFirewall) != -1)){AfxMessageBox("源字符串中包含要查找的子字符串");}else{AfxMessageBox("源字符串中No found 子字符串");}}

Java中判断字符串是否为数字的方法:

1.用JAVA自带的函数
public static boolean isNumeric(String str){
for (int i = 0; i < str.length(); i++){
System.out.println(str.charAt(i));
if (!Character.isDigit(str.charAt(i))){
return false;
}
}
return true;
}

2.用正则表达式
首先要import java.util.regex.Pattern 和 java.util.regex.Matcher
public boolean isNumeric(String str){
Pattern pattern = Pattern.compile("[0-9]*");
Matcher isNum = pattern.matcher(str);
if( !isNum.matches() ){
return false;
}
return true;
}

3.使用org.apache.commons.lang
org.apache.commons.lang.StringUtils;
boolean isNunicodeDigits=StringUtils.isNumeric("aaa123456789");
http://jakarta.apache.org/commons/lang/api-release/index.html下面的解释:
isNumeric
public static boolean isNumeric(String str)Checks if the String contains only unicode digits. A decimal point is not a unicode digit and returns false.
null will return false. An empty String ("") will return true.
StringUtils.isNumeric(null) = false
StringUtils.isNumeric("") = true
StringUtils.isNumeric(" ") = false
StringUtils.isNumeric("123") = true
StringUtils.isNumeric("12 3") = false
StringUtils.isNumeric("ab2c") = false
StringUtils.isNumeric("12-3") = false
StringUtils.isNumeric("12.3") = false

Parameters:
str - the String to check, may be null
Returns:
true if only contains digits, and is non-null

上面三种方式中,第二种方式比较灵活。

第一、三种方式只能校验不含负号“-”的数字,即输入一个负数-199,输出结果将是false;

而第二方式则可以通过修改正则表达式实现校验负数,将正则表达式修改为“^-?[0-9]+”即可,修改为“-?[0-9]+.?[0-9]+”即可匹配所有数字。

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)

方法:

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



  • 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:这个方法只能用于判断是否是正整数



可以通过以下方法来进行编码格式判断,输入一个字符串,之后返回字符串编码类型。
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 ""; //如果都不是,说明输入的内容不属于常见的编码格式。
}


请问在java 中,如何将一个字符串中的某个值移除掉,字符串类似数组结构...
楼上的明显不行啊,这不还是只能去掉一个数字么?如果一个数组里有好几个相同的怎么办?需要import java.util.Scanner;楼主可根据需要自己改为传参函数 public static void main(String args[]){ System.out.println("请输入数字组,数字请以,隔开");Scanner scanner =new Scanner(System.in);String...

java中如何把字符串中的数字转换为汉字?
public class Test {public static void main(String[] args) {System.out.println(format("登记编号123456正在审批过程中。"));}public static String format(String text) {for (int i = 0; i < 10; i++) {text = text.replace((char) ('0' + i), "零一二三四五六七八九".charA...

java 如何获取字符串中的某个值
先使用replace把var去掉str.replace("var ","");然后使用split分割";",在遍历分割后字符串数组,每一个元素都用split分割"=",将分割后的数组存入map,然后需要哪个值就用map get一下就可以。

java中字符串如何去掉转义字符
忽略转义的工具类, org.apache.commons.lang.StringEscapeUtils,其中unescapeJava(String s)方法是来处理java转义字符的,可以将字符串中的 “\\”转换为 “\\”,“'”转换为“'”等。通过这个方法处理以上字符串 public class Test(){ public static void main(String[] args) { String s = ...

java中如何截取字符串中的指定一部分
java用substring函数截取string中一段字符串 在String中有两个substring()函数,如下:一:String.substring(int start)参数:start:要截取位置的索引 返回:从start开始到结束的字符串 例如:String str = "hello word!"; System.out.println(str.substring(1));System.out.println(str.substring(...

java中字符、字符串的常用方法
确定字符(Unicode 代码点)是否可以是 Java 标识符中首字符以外的部分。 static boolean isJavaIdentifierStart(char ch) 确定是否允许将指定字符作为 Java 标识符中的首字符。 static boolean isJavaIdentifierStart(int codePoint) 确定是否允许将字符(Unicode 代码点)作为 Java 标识符中的首字符。 static boolean...

Java:给定一个字符串,判断该字符串中是否包含某个子串.如果包含,求...
class cha { public static void main(String[] ages){ String a=chazhao("abcd23abc34bcd","bc");\/\/想传什么传什么 System.out.println(a);\/\/打印来看看效果 } public static String chazhao(String a,String b){ StringBuffer sb=new StringBuffer();int c=-1;for(int y=0;y...

java如何将字符串数组传入函数
从命令提示符中传值。java将字符串数组传入函数步骤如下:1、从命令提示符中传值,我在桌面新建了一个文本文档重命名为TestMain.java,输入代码。2、按住shift在桌面单击鼠标右键,在此处运行命令提示符输入命令javacTestMain.java编译成功后,在运行javaTestMainaabbccdd。3、直接在java代码中赋值即可。

java中如何统计一个字符串的长度
return "字符串中共有"+character+"个字母,"+blank+"个空格,"+number+"个数字";} public static void main(String []args) throws Exception {\/\/java程序的主入口方法 String s="hello world 世界你好!!123*";System.out.println("字符串的总长度:"+s.length());\/\/显示字符串长度 System....

用Java实现当字符串中所含字符个数少于程序设定的上限时,输出这个字 ...
public class Util{ public static void main(String[] args){ java.util.Scanner sc = new java.util.Scanner(System.in); System.out.println("请输入一串字符串."); String str = sc.next(); if(str.length() > 10){ \/\/当用户输入的这个字符串大于10个的时候,给出提示...

白银区17330653382: 在java中,你输入一个字符串,然后你逐个取字符,有没有函数能判断这个字符是char,float,int型? -
农琼迈之: 说法就有问题,你逐个取字符,应该都是 char 型,如果取到 0-9 ,你认为是int 型,那就这两种,不会有别的

白银区17330653382: java怎么判断string类型 -
农琼迈之: 这问题是要问什么?判断一个变量是否为String?还是什么?第一,是String不是string 第二,变量的话,声明就可以看见类型,不用判断.第三,如果是判断返回值是否为String,可以实例化一个返回值的类,运用反射,java反射机制里有一个getClass()方法看到他的类型.

白银区17330653382: JAVA中,如何判断一个字符串中包含的字符在另一个字符前面? -
农琼迈之: 用它们在这个字符串中的位置来判断.String里面有个方法indexOf,这个方法可以返回你指定的子串在这个字符串的位置,当然前提是这两个字符都要在这个字符串,不在的返回为-1.下面是一个简单的测试程序,帮助理解.public class Test { ...

白银区17330653382: Java如何检查一个String是数值类型 -
农琼迈之: ava中判断字符串是否为数字的方法:1.用JAVA自带的函数 public static boolean isNumeric(String str){ for (int i = 0; i < str.length(); i++){ System.out.println(str.charAt(i)); if (!Character.isDigit(str.charAt(i))){ return false; } } return true; }2.用正则表达...

白银区17330653382: java中怎么判断一个字符串中包含某个字符或字符串 -
农琼迈之: 方法如下:一、contains方法1:描述 java.lang.String.contains() 方法返回true,当且仅当此字符串包含指定的char值序列2:声明 public boolean contains(CharSequence s)3:返回值 此方法返回true,如果此字符串包含,否则返回false.4:...

白银区17330653382: 在java中如何判断传进来的是哪种类型? -
农琼迈之: 隙ň褪 此种基础类型例:try{Integer.parseInt("要转换的成整型的字符串");e.printStackTrace();}引用类型 用关键字 instanceof 判断

白银区17330653382: java中如何判断一个字符串中含有字母或数字 -
农琼迈之: 描述: java.lang.character.isLetter(); 断定指定字符是否是一个字母. java.lang.character.isDigit(); 确定或判断指定字符是否是一个数字. 示例: public static void main(String[] args){ boolean isDigit = false;//定义一个boolean值,用来...

白银区17330653382: JAVA中String是一个类还是一种基本类型? -
农琼迈之: String 是一个字符串类 类的定义方法:String str = new String ("hello"); 只不过它也可以: String str = "hello"; 基本类型就8个 byte、 short、 int、 lang float、 double boolean char

白银区17330653382: java判断输入的字符串中是否包含某个字符 -
农琼迈之: 用contains(CharSequence s)方法,比如: strA.contains(strB)测试 字符串 strA 中是否包含字符串 strB 如果是字符的话,可以用Character.toString(char c)方法来把它转换成字符串. 比如: String s1="abcdef"; char ch='c'; System.out.println(s1.contains(Character.toString(ch))); 输出结果:true

白银区17330653382: java 里对字符串进行操作的是哪个类? -
农琼迈之: java 里对字符串进行操作的是String类 如果要操作超多文字的字符串,首选 StringBuffer 类 要把字符串变成字符数组:如下 String s = "abcdefg"; char[] cs = s.toCharArray();//得到一个字符数组 String这个类目前还没有人能继承它,呵呵

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网