如何使用Java Android读取字符串的特定特征后如何读取数字


String str = "[amt is E234.98.valid 23/12/2013.Sample text]"

如何仅读取与字符" e"

您可以使用Regexp和匹配组来提取所需的内容。

代码更新:

通过调用ParseWithRegexp.testIt()

使用
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ParseWithRegexp {
    static String str = "[amt is E234.98.valid 23/12/2013.Sample text  E134.95.valid 23/12/2015]";
    public static void testIt() {
        Pattern p = Pattern.compile("E([0-9.]+)\.valid");
        Matcher m = p.matcher(str);
        while (m.find()) {
            System.out.println("found: "+m.group(1));
        }
    }
}

Upadte:例如,您可以对regexp更加严格: "E([0-9]+\.[0-9]+)"

您可以使用StringindexOf()方法,例如:

如果您只想要大胆的内容,并且如果您必须有一个点:

字符串str =" [amt是e 234.98 .Valid 23/12/2013.sample Text]";

这样做:

String str = "whatever E2024.1.E";
///Start from the first character after "E"
int startPos = str.indexOf("E") + 1;
///Start from startPos
int dotPos = str.indexOf(".", startPos);
///Start from the first character after dotPos
int endPos = str.indexOf(".", dotPos + 1);
///return the result
return str.substring(startPos, endPos);

否则,如果您只想要数字直到第一个点执行此操作:

String str = "whatever E2024.1.E";
///Start from the first character after "E"
int startPos = str.indexOf("E") + 1;
///Start from the first character after startPos
int endPos = str.indexOf(".", startPos+ 1);
///return the result
return str.substring(startPos, endPos);

唯一的区别是,如果您必须有一个点,则必须检查其位置并从中开始。

相关内容

  • 没有找到相关文章

最新更新