java获取字符串中的时间不使用正则
时间: 2023-11-27 14:55:27 浏览: 61
可以使用Java自带的日期时间类库来获取字符串中的时间,例如:
```java
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
String input = "现在的时间是12:34:56";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");
LocalTime time = LocalTime.parse(input.substring(7), formatter);
System.out.println("提取到的时间为:" + time);
}
}
```
上述代码将字符串 `"现在的时间是12:34:56"` 中的时间部分提取出来,并转换为 `LocalTime` 类型。其中,`DateTimeFormatter` 是用来指定时间格式的,`LocalTime.parse()` 方法可以将字符串按照指定格式解析成时间类型。
相关问题
java使用正则表达式获取字符串里的坐标经纬度
在Java中,可以使用正则表达式来从字符串中提取包含经纬度的数据,通常经纬度数据可能会按照特定的格式存储,比如 "经度,纬度" 或者 "经度 纬度" 的形式。这里是一个基本的例子,假设我们有这样一个格式的字符串:
```java
String text = "地点坐标: (120.1234, 30.4567)";
```
我们可以编写一个正则表达式来匹配并提取经纬度。例如:
```java
Pattern pattern = Pattern.compile("\\((\\d+\\.?\\d*), \\(\\d+\\.?\\d*)\\)");
Matcher matcher = pattern.matcher(text);
if (matcher.find()) {
String longitude = matcher.group(1); // 经度部分
String latitude = matcher.group(2); // 纬度部分
System.out.println("经度: " + longitude);
System.out.println("纬度: " + latitude);
}
```
这个正则表达式 `\\((\\d+\\.?\\d*), \\(\\d+\\.?\\d*)\\)` 匹配的是形如 `(X.XXX, Y.YYY)` 的模式,其中 `\\d+\\.?\\d*` 表示一到多个数字后跟随可选的小数点。
当然,如果实际的经纬度格式有所不同,你需要调整正则表达式以适应具体情况。如果你不确定具体的格式,可能需要尝试多种模式或使用更复杂的解析逻辑。
java 获取正则匹配字符串
在 Java 中,可以使用 java.util.regex 包中的正则表达式类来实现字符串的正则匹配。下面是一个简单的示例代码:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample {
public static void main(String[] args) {
String input = "Hello, world! This is a sample text.";
String patternString = "\\b\\w+\\b"; // 匹配单词
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
String match = matcher.group();
System.out.println(match);
}
}
}
```
在上面的示例中,我们首先定义了一个输入字符串 input 和一个正则表达式 patternString,用于匹配单词。然后,我们使用 Pattern 类中的 compile() 方法将 patternString 转换为一个 Pattern 对象。接着,我们使用 Matcher 类中的 matcher() 方法将输入字符串 input 与 Pattern 对象匹配,并返回一个 Matcher 对象。最后,我们使用 Matcher 类中的 find() 和 group() 方法来依次获取匹配到的字符串。在这个示例中,我们将匹配到的单词逐个打印出来。
注意:在使用正则表达式时,需要特别注意转义字符的使用。在 Java 中,正则表达式中的转义字符通常需要使用双反斜杠(\\)进行转义。
阅读全文