Javaで緯度経度の書式を検証する方法を教えてください
Javaで緯度経度の形式を判断する場合、正規表現を用いて緯度経度の形式にマッチさせる方法があります。以下にそのサンプルメソッドを示します。
public boolean isValidCoordinates(String coordinates) {
// 经纬度的正则表达式
String regex = "[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?)";
// 使用正则表达式匹配经纬度格式
boolean isValid = coordinates.matches(regex + ",\\s*" + regex);
return isValid;
}
使用例:
String coordinates1 = "37.7749° N, 122.4194° W";
System.out.println(isValidCoordinates(coordinates1)); // 输出:true
String coordinates2 = "37.7749 N, 122.4194 W";
System.out.println(isValidCoordinates(coordinates2)); // 输出:false
String coordinates3 = "91.123, -181.456";
System.out.println(isValidCoordinates(coordinates3)); // 输出:false
上記の方法にある正規表現では、下の形式の緯度経度がマッチします
- 90°、90.0°、90.0000°
- マイナス90度、マイナス90.0度、マイナス90.0000度
- 0度、0.0度、0.0000度
- マイナス180度
- 180、180.0、180.0000
注意:これは単なる簡単な例です。実際の使用時には、具体的なニーズに応じて適切な調整が必要な場合があります。