从字符串S中提取每个位置的整数[重复]

Posted

技术标签:

【中文标题】从字符串S中提取每个位置的整数[重复]【英文标题】:extracting integer at each positions from a string S [duplicate] 【发布时间】:2016-08-23 17:08:56 【问题描述】:

我在 java 中接受了一个数字作为 S=1234 的字符串。现在我想在 s[0] s[1] s[2] s[3] 处获取整数值。

for(int i=0;i<l;i++)// l is length of string s
    int x=s[i]-'0';// print this now

但这似乎不起作用。

【问题讨论】:

int x=s.charAt(i)-'0'; 呢? 您是否尝试过使用Integer.valueOf() Character.getNumericValue()... 【参考方案1】:

您可以通过使用charAt() 结合获取该字符的数值来获取整数。

// Assuming you already have the Integer object "S" declared and assigned
int[] s = new int[Integer.toString(S).length()]; // create the integer array

for(int i = 0; i < Integer.toString(S).length(); i++)

  int x = Character.getNumericValue(S.charAt(i));
  s[i] = x;

【讨论】:

【参考方案2】:

Java 字符串不仅仅是char 数组,它们还是对象,因此您不能使用[] 运算符。不过,您确实有正确的想法,您只是以错误的方式访问角色。相反,您可以使用charAt 方法:

for(int i = 0; i < l; i++)  // l is length of string s
    int x = s.charAt(i) - '0';
    // Do something interesting with x

【讨论】:

【参考方案3】:

从另一个堆栈溢出响应中获取此信息:Java: parse int value from a char

int x = Character.getNumericValue(S.charAt(i));

【讨论】:

一旦你有足够的声望,你可以将问题标记为重复。另外,另一个答案已经提供了该解决方案。 哦,太棒了,希望我很快就会到那个时候。我一定同时在研究答案。【参考方案4】:

您只需使用 Character.getNumericalValue() 方法即可转换数字字符串。下面是获取方法。

   String num = "1234";
    char[] a=num.toCharArray();
    ArrayList<Integer> p = new ArrayList<>();
    for(int i=0; i<a.length; i++)
        p.add(Character.getNumericValue(a[i]));
        System.out.println(p.get(i));
    

【讨论】:

以上是关于从字符串S中提取每个位置的整数[重复]的主要内容,如果未能解决你的问题,请参考以下文章

从pandas DataFrame中另一列中的位置给定的字符串列中提取字符[重复]

如何从js中的字符串中提取每个整数或浮点数(正数或负数)

LeetCode——统计重复个数

如何从字符串中提取浮点数[重复]

从字符串C++中取出整数[重复]

2021-08-31:去除重复字母。给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置)。力扣316。