文字列:RoomA38
があります。 RoomA
から抽出し、String型のオブジェクトに入れたい場合は、3
と8
を2つの異なる型intに入れてください。メソッド分割について考えましたが、この場合にどのように使用するのか分かりません。どうすればいいですか?文字列から文字列とintを抽出します。
4
A
答えて
3
このようなことはできますか?
String myString = "RoomA38";
StringBuilder sb = new StringBuilder();
List<Integer> numbers = new ArrayList<Integer>();
for(int i=0;i<myString.length();i++){
char c = myString.charAt(i);
if(!Character.isDigit(c)){
sb.append(c);
}else{
numbers.add(Integer.parseInt(c+""));
}
}
String roomString = sb.toString();
for(Integer i : numbers){
//use the number i
}
0
あなたはこのためにスキャナを使用する場合があります。次の行を使用してhttp://docs.oracle.com/javase/6/docs/api/java/util/Scanner.html
0
char
が数字であれば、あなたは見つけることができます。 Character.isDigit( '');
各char
を文字列で繰り返し、それに応じて有用な文字を抽出することができます。
0
それはまた別の番号に独自のロジックを記述した後に、文字列から数字を抽出することができます。
おかげ スニル
1
public static void main(String[] args) {
String str = "RoomA3814221";
String pattern = "[0-9]+";
Scanner sc = new Scanner(str);
String result = sc.findInLine(pattern);
String[] arr = result.split("");
System.out.println(result);
System.out.println(arr.length);
for (String s: arr) {
System.out.println(s);
}
}
0
形式は常に同じである場合:
String value = "RoomA38";
String room = value.substring(0, 5);
Integer floor = Integer.valueOf(value.substring(5,6));
Integer roomNumber = Integer.valueOf(value.substring(6,7));
2
あなたはさまざまな方法でこれを行うことができ、あなただけのいくつかの計算を必要とする任意の特定のAPI何もありませんメソッドを構築することができます。 これを行う方法も以下のとおりです。
String str = "RoomA38";
int number = 0;
String[] strArr = str.split("\\d");
str = str.replace(strArr[0], "");
number = Integer.parseInt(str);
System.out.println("Numbers::: " + number);
str = strArr[0];
System.out.println("String is:::: " + str);
0
なぜRegExを使用しないのですか?
@Test
public void splitString() {
final String src = "RoomA38";
final Pattern pattern = Pattern.compile("(\\D*)(\\d*)");
final Matcher matcher = pattern.matcher(src);
matcher.matches();
final String resultString = matcher.group(1);
final int resultInt = Integer.valueOf(matcher.group(2));
Assert.assertEquals("RoomA", resultString);
Assert.assertEquals(38, resultInt);
}
0
は、java
String chars;
int result2,result3;
String str= "RoomA38";
String regex ="([a-zA-Z]+)([0-9]{1})([0-9]{1})";
Matcher matcher = Pattern.compile(regex).matcher(str);
while (matcher.find())
{
result = matcher.group(1);
result2 =Integer.parseInt(matcher.group(2));
result3 = Integer.parseInt(matcher.group(3));
System.out.println("chars="+result+" "+"number1="+result2+" "+"number2="+result3);
}
chars=RoomA number1=3 number2=8
関連する問題
- 1. 文字列から部分文字列を抽出します。
- 2. 文字列から数字と文字を抽出するR
- 3. PowerShellは文字列から文字を抽出します。
- 4. Objective-Cの文字列から文字列を抽出する
- 5. Bashの文字列から文字列を抽出する
- 6. 文字列から部分文字列を抽出する
- 7. 文字列から文字列を抽出する方法
- 8. 文字列から文字列を抽出する
- 9. Arduinoの文字列からintを抽出する
- 10. 抽出文字列
- 11. 文字列からの整数と文字の抽出
- 12. 列sqlから文字列を抽出しますか?
- 13. Excelの文字列から文字を抽出する方法
- 14. クエリ文字列からURLを抽出
- 15. JSONオブジェクトから文字列を抽出
- 16. シェル:ソースコードから文字列を抽出
- 17. 文字列2文字間の文字列の抽出
- 18. SQLは文字列から数値を抽出し、intに変換します
- 19. 文字列から部分文字なしの文字列を抽出します。 SQL
- 20. テキストから文字列と数字を抽出する
- 21. データフレームからの文字列の抽出
- 22. 文字列からの抽出 - Ruby
- 23. JSON文字列オラクルからの抽出
- 24. 文字列からの抽出
- 25. 文字列からのPHPテキスト抽出
- 26. regex:文字列とコロンの後にintを抽出する
- 27. 文字列から特定の文字をすべて抽出します
- 28. 英数字の文字列から数字を抽出する
- 29. 文字列からの文字の抽出
- 30. 大きな文字列からワイルドカードを含む文字列を抽出する
に正規表現とパターンマッチングを使用して、所望の結果を抽出し、それは常に形式のものであろう: ''? –
codaddict
yes.itは常にそうです – Mazzy