「java提取数字和字母」java提取数字和字母的公式

博主:adminadmin 2022-12-23 20:15:09 75

今天给各位分享java提取数字和字母的知识,其中也会对java提取数字和字母的公式进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java 取字符串的中字母数字组合?

代码截图

运行结果

以下是全部代码,不管你字母是什么,字母后边有多少数字,都能取出来,如果是只需要数字,那么拼接的时候别拼接那个字母就OK

public static void main(String[] args) {

String str = "p17g1n12f3";

StringBuffer data = new StringBuffer();

String[] arr = new String[4];

for (int i = 0,j=0,leni = str.length();ileni;i++){

str.charAt(i);

if (check(str.charAt(i))){

if (StringUtils.isBlank(data.toString())){

data.append(str.charAt(i));

}else {

arr[j] = data.toString();

j++;

data = new StringBuffer();

data.append(str.charAt(i));

}

}

if (isNumberic(str.charAt(i)+"")){

data.append(str.charAt(i));

}

if (i+1 == leni){

arr[j] = data.toString();

}

}

System.out.println(Arrays.toString(arr));

}

/**

* 判断字符串是否为数字

*

* @param str

* @return

*/

public static boolean isNumberic(String str) {

Pattern pattern = Pattern.compile("[0-9]*");

return pattern.matcher(str).matches();

}

/**

* 判断一个字符串是否为字母

*

* @param fstrData

* @return

*/

public static boolean check(char fstrData) {

char c = fstrData;

if (((c = 'a' c = 'z') || (c = 'A' c = 'Z'))) {

return true;

} else {

return false;

}

}

Java中如何将字符串中含有两个字母组成的单词获取出来

如果s='123abc'取得s1='abc'

用正则,例如:s="123abc4a"printre.findall("[a-z]+",s)结果是:['abc','a']。

扩展资料

字符串主要用于编程,概念说明、函数解释、用法详述见正文,这里补充一点:字符串在存储上类似字符数组,所以它每一位的单个元素都是可以提取的,如s=“abcdefghij”,则s[1]=“b”,s[9]="j",这可以给我们提供很多方便,如高精度运算时每一位都可以转化为数字存入数组。

字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为s=“a1a2···an”(n=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。

补充:字符串在存储上类似字符数组,它每一位单个元素都是能提取的,字符串的零位是它的长度,如s[0]=10,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。

通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。

用java找出字符串中的数字和字母

public static void main(String[] args){

boolean isDigit = false;//定义一个boolean值,用来表示是否包含数字

boolean isLetter = false;//定义一个boolean值,用来表示是否包含字母

String str = "aaasss8fff"; //假设有一个字符串

for(int i=0 ; istr.length() ; i++){ //循环遍历字符串

if(Character.isDigit(str.charAt(i))){ //用char包装类中的判断数字的方法判断每一个字符

isDigit = true;

}

if(Character.isLetter(str.charAt(i))){ //用char包装类中的判断字母的方法判断每一个字符

isLetter = true;

}

}

/*循环完毕以后

*如果isDigit为true,则代表字符串中包含数字,否则不包含

*如果isLetter为true,则代表字符串中包含字母,否则不包含

*/

System.out.println(isDigit);

System.out.println(isLetter);

}

java中怎么把一个字符串中数字和字符分别提取出,例如字符串12+3,要提取成12,3,+,并且打印出来。

先把字符串分割成字符数组,三种方式判断是不是数字

参考

1.java自带函数

for (int i = str.length();--i=0;){

if (!Character.isDigit(str.charAt(i))){

这里将非数字提取

}else{

这里将数字提取

}

}

2用正则表达式,不过这个是判断整个字符串的。你把字符串分割了再循环调用

public static boolean isNumeric(String str){

Pattern pattern = Pattern.compile("[0-9]*");

return pattern.matcher(str).matches();

}

3用ascii码,这个最简单了,小雨0或者大于9的asscii码就肯定不是数字

public static boolean isNumeric(String str){

for(int i=str.length();--i=0;){

int chr=str.charAt(i);

if(chr48 || chr57)

return false;

}

return true;

}

java中根据一段字符串,获取其中的字母,有要求;求个具体代码

要求1中要去掉所有数字,要求2、3中又要保留数字并进行翻译,所以我两种都写了。具体代码为:

public class Test {

public static void main(String args[]) {

String str = "0as2sw$#3Six";

System.out.println("原字符串:[" + str + "]");

System.out.println("");

//不翻译数字

SetString set1 = new LinkedHashSet();

for (String s : str.split("[^A-Z a-z]")) {

if (s.length() 0) {

set1.add(s);

}

}

System.out.println("不翻译数字的结果:" + set1);

System.out.println("");

     /*因为又要去除非字母和数字(以下简称去杂),又要将去杂结果分离成数字和字母,再翻译数字,整个流程挺麻烦的,索性在去杂之前,先将数字翻译成英文,为了使数字翻译后的英文和原字符串的字母分开,在数字左右添加占位符#,这样的话,形如:[a1b2c3]就会被处理为:[a#one#b#two#c#three#],这样去杂后,就会被分割为:[a,one,b,two,c,three]了。这里定义了枚举值English,用于实现0-9的英文映射,[10]不好映射成[ten],现在只能映射为[one,zero],如果按照题干非要映射为ten的话你再考虑考虑吧*/

for (English english : English.values()) {

str = str.replaceAll(english.getNum() + "", "#" + english.name() + "#");

}

System.out.println("将数字替换为“占位符 + 英文 + 占位符”的中间结果:[" + str + "]");

System.out.println("");

     //翻译数字的结果

SetString set2 = new LinkedHashSet();

for (String s : str.split("[^A-Za-z]")) {

if (s.length() 0  ) {

//判断当前字符串是否是数字的英文,如果不是,就把它拆成单字母

if (mappingEnglish(s)){

set2.add(s);

}else {

for (char c : s.toCharArray()) {

set2.add(String.valueOf(c));

}

}

}

}

System.out.println("翻译数字的结果:" + set2);

}

 //判断当前字符串是否是数字的英文

private static boolean mappingEnglish(String str) {

for (English english : English.values()) {

str = str.toLowerCase();

if (english.name().equals(str)) {

return true;

}

}

return false;

}

 enum English {

zero(0),

one(1),

two(2),

three(3),

four(4),

five(5),

six(6),

seven(7),

eight(8),

nine(9);

private int num;

public int getNum() {

return num;

}

English(int num) {

this.num = num;

}

}

}

我怕发出来代码又挤在一起,顺便也截个图:

8-21行

22-50行

51-61行

62-85行完

运行结果:

Java中 怎么实现从字符串中提取数字

import java.util.ArrayList;

import java.util.List;

public class T4 {

public static void main(String[] args) {

String s = "13+45=";

boolean flag = false;

String ss ="";

ListInteger list = new ArrayListInteger();

for (int i = 0; i s.length(); i++) {

for (int j = 0; j 10; j++) {

if (String.valueOf(s.charAt(i)).equals(String.valueOf(j))) {

flag=true;

}

}

if(flag){

ss=ss+s.charAt(i);

flag=false;

}else{

list.add(Integer.parseInt(ss));

ss="";

}

}

int sum=0;

for(int i=0;ilist.size();i++){

sum=sum+list.get(i);

}

System.out.println(sum);

}

}

关于java提取数字和字母和java提取数字和字母的公式的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-23,除非注明,否则均为首码项目网原创文章,转载请注明出处。