从字符串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中另一列中的位置给定的字符串列中提取字符[重复]
2021-08-31:去除重复字母。给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置)。力扣316。