gpt4 book ai didi

Java (Android) - 提取字符串中 2 个特定单词之间的部分

转载 作者:行者123 更新时间:2023-12-01 08:53:27 25 4
gpt4 key购买 nike

我一直在尝试提取字符串的一部分。我正在 Android 应用程序 (Java) 中执行此操作。

我的问题是我将有一个像这样开头的字符串:

Location[fused 20.01234,-30.9876 acc=20 (...)

这代表设备的当前坐标(我在那里设置了 20 和 -30)和一些其他测量值。我想从该字符串中提取 2 个坐标(它们始终位于“fused”和“acc”之间),并将它们存储为 float 。

我环顾四周并得出结论,可能需要正则表达式来解决这个问题,但请记住,我以前只使用过正则表达式一次,而且我对它们仍然非常缺乏经验。

任何有关如何解决此问题的指导将不胜感激!

最佳答案

RegExr 是学习和构建正则表达式的绝佳网站: http://regexr.com/

将您的字符串与此正则表达式匹配将为您提供 2 个坐标:

fused\s(-?\d+\.\d+),(-?\d+\.\d+)\s

将此表达式复制到 RegExr 以查看每个字符的含义。

要在 Java 中使用正则表达式,您需要确保转义反斜杠字符(添加额外的反斜杠)

在 Java 中:

public static void main(String[] args) {
String yourString = "Location[fused 20.01234,-30.9876 acc=20 ";

Pattern pattern = Pattern.compile("fused\\s(-?\\d+\\.\\d+),(-?\\d+\\.\\d+)\\s");
Matcher matcher = pattern.matcher(yourString);
if(matcher.find()) {
String coordinate1 = matcher.group(1);
String coordinate2 = matcher.group(2);
System.out.println(coordinate1);
System.out.println(coordinate2);
}
}

输出:

20.01234
-30.9876

关于Java (Android) - 提取字符串中 2 个特定单词之间的部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42217362/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com