怎样提取字符串中的数字啊

怎样提取字符串中的数字啊,第1张

1、如下图,要提取#后面的字符,也即红色的“SDK”到B列。

2、首先,在B2中输入公式:

=FIND("#",A2)

返回#在字符串中的位置,#在A2单元格文本中是第6个字符。

3、知识点说明:

FIND()函数查找第一参数在第二参数中的位置。如下图,查找“B”在“ABCD”中是第几个字符。第一参数是要查找的字符“B”,第二参数是被查找的字符串。最终返回“B”在“ABCD”中是第2个字符。

4、然后,在B2中输入公式:

=MID(A2,FIND("#",A2)+1,99)

这样,就提取出了#后的字符。

5、知识点说明:

MID()函数返回从字符串中制定字符开始若干个字符的字符串。如下图,MID()函数返回“ABCDE”字符串中从第2个字符开始的连续3个字符,也就是返回“BCD”。

6、综上,=MID(A2,FIND("#",A2)+1,99)的意思就是从A2单元格#字符后面的一个字符起,取长度为99的字符串。其中的99是一个较大的数字,能涵盖#后字符的最大长度即可。

public static void main(String[] args) {

String s1="10 23 42 2 32 1 3 2 7 6";

String[] strArray = s1split(" ");

int[] intArray = new int[10];

for(int i=0;i<strArraylength;i++){

intArray[i] = IntegerparseInt(strArray[i]);

}

}

用split函数,空格作为参数。转化为字符串数组,再转为int数组。

intArray[i]就是10个int的数组。

用循环么

for(i=0;input [i]!='\0';i++ ){}

//一个空循环,循环到数组结尾跳出循环

printf("%d",i);

//输出的i就是数组元素个数

import javaioBufferedReader;

import javaioInputStreamReader;

import javautilArrays;

public class NumberSplit {

public StringBuffer getString(String str) {

StringBuffer strbuf = new StringBuffer("t");

boolean flag = true;

for (int i = 0; i < strlength(); i++) {

char c = strcharAt(i);

// 判断是否是数字

if (c >= '0'&& c <= '9') {

// 判断和字符串中的数字是否重复

for (int j = 1; j < strbuflength(); j++) {

if (c == strbufcharAt(j)) {

// 如果重复,标志位数值为false,并跳出循环;否则标志位设置为true

flag = false;

break;

} else

flag = true;

}

// 只有在即是数字又不重复的情况下才将改字符拼接到字符串上

if (flag) {

strbufappend(c);

}

}

}

return strbuf;

}

public static void main(String args[]) throws Exception {

Systemoutprintln("请输入一段字符串,并以回车结束");

BufferedReader buf = new BufferedReader(

new InputStreamReader(Systemin));

String str = bufreadLine();

StringBuffer strbuf = new NumberSplit()getString(str);

// 将返回的StringBuffer转换为字符数组

char c[] = strbufdeleteCharAt(0)toString()toCharArray();

// 对字符数组排序

Arrayssort(c);

// 输出字符数组

for (int i = 0; i < strbuflength(); i++) {

Systemoutprint(c[i]);

}

}

import javaioBufferedReader;

import javaioInputStreamReader;

import javautilArrays;

public class NumberSplit {

public StringBuffer getString(String str) {

 StringBuffer strbuf = new StringBuffer("t");

 boolean flag = true;

for (int i = 0; i < strlength(); i++) {

  char c = strcharAt(i);

// 判断是否是数字

  if (c >= '0'&& c <= '9') {

   // 判断和字符串中的数字是否重复

   for (int j = 1; j < strbuflength(); j++) {

    if (c == strbufcharAt(j)) {

     // 如果重复,标志位数值为false,并跳出循环;否则标志位设置为true

   

flag = false;

     break;

    } else

     flag = true;

   }

   // 只有在即是数字又不重复的情况下才将改字符拼接到字符串上

   if (flag) {

    strbufappend(c);

   }

  }

 }

 return strbuf;

}

public static void main(String args[]) throws Exception {

 Systemoutprintln("请输入一段字符串,并以回车结束");

 BufferedReader buf = new BufferedReader(

   new InputStreamReader(Systemin));

 String str = bufreadLine();

StringBuffer strbuf = new NumberSplit()getString(str);

 // 将返回的StringBuffer转换为字符数组

 char c[] = strbufdeleteCharAt(0)toString()toCharArray();

// 对字符数组排序

 Arrayssort(c);

 // 输出字符数组

 for (int i = 0; i < strbuflength(); i++) {

  Systemoutprint(c[i]);

 }

}

给你一个方法吧,你只要直接调用这个方法就可以了

/// <summary>

/// 获取两个字符串之间的字符

/// </summary>

/// <returns></returns>

public static string GetValueAnd(string strStart, string strEnd, string text)

{

if (stringIsNullOrEmpty(text))

return "";

string regex = @"^" + strStart + "(<content>+)" + strEnd + "$";

Regex rgClass = new Regex(regex, RegexOptionsSingleline);

Match match = rgClassMatch(text);

return matchGroups["content"]Value;

}

#include<stdioh>

void

main()

{

char

str[10]={'1','a','2','b','3','4','c','\0'};

int

i;

for(i=0;str[i]!='\0';i++)

if(str[i]>'0'&&str[i]<'9')

printf("%c\n",str[i]);

}

方法:从字符串第一个字符开始判断,通过for循环一个个的如果是当前字符,也就是str[i]比0大而且比9小,那么它就是数字,然后输出它就可以了。

两点需要注意:

(1)因为定义的是字符数组,所以printf输出的时候需要时%c单个字符的格式;

(2)if判断条件0和9要加单引号调用ASCII码,如果不加单引号就默认是ASCII码为0和9的字符而不是阿拉伯数字。

这个程序用的初始化,如果需要,可以编写用户输入数据的。

以上就是关于怎样提取字符串中的数字啊全部的内容,包括:怎样提取字符串中的数字啊、java:从String中提取数字、如何获取String数组元素个数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9452758.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存