Converting a String with spaces to an Integer in java

前端 未结 5 1705
温柔的废话
温柔的废话 2021-02-19 21:59

I\'m trying to convert a String variable into an integer, only the String looks like this (for example):

String string = \" 12\";

And so the St

相关标签:
5条回答
  • 2021-02-19 22:36

    Use the string trim function in Java to first get a string without the spaces, then parse it...

    1.) Remove spaces with trim ... String#trim

    String stringWithoutSpace = string.trim();
    

    2.) Parse the string without spaces ... Integer#parseInt

    int integer = Integer.parseInt(stringWithoutSpace);
    

    3.) Do everything above in one step ...

    int integer = Integer.parseInt(string.trim());
    
    0 讨论(0)
  • 2021-02-19 22:45

    To make sure that your code does not throw NumberFormatException or even NullPointerException, when you get number from user, use apache common classes:

    import org.apache.commons.lang3.StringUtils;
    import org.apache.commons.lang3.math.NumberUtils;
    .....
    // '1' is the default value which is returned when the string can not be converted to int
    // The StringUtils.trimToEmpty do both left and right trim
    int number = NumberUtils.toInt(StringUtils.trimToEmpty( "  12 ",1)) = 12; 
    
    0 讨论(0)
  • 2021-02-19 22:46

    The string split() method works well if you have a string of multiple numbers separated by spaces.

    String numbers = "1 23 456";
    String[] numbersArray = numbers.split(" "); // splitting string by spaces
    System.out.println(numbersArray.toString());
    // output ["1","23","456"]
    

    Then you can use Integer.parseInt() on each index of the array. Hope that helps

    0 讨论(0)
  • 2021-02-19 22:47

    Would .trim work? And if so, how would I use that?

    Yes, trim() will work, it will remove leading and trailing spaces from String,

    int integer = Integer.parseInt(string.trim());
    
    0 讨论(0)
  • 2021-02-19 22:53

    If you using Java 11, you can use the String::strip method. For example:

    int integer = Integer.parseInt(string.strip());
    

    The strip() method is similar to trim() but uses Character.isWhitespace(int) to resolve spaces. (The Character.isWhitespace(int) method is Unicode-aware.)

    0 讨论(0)
提交回复
热议问题