假设我有一些String包含"This sentence was written on 2020-03-21 by person 1234567 at 07:23 hours". 我如何仅提取"1234567"字符串的一部分?也许使用从字符串中提取数字 - StringUtils Java问题中的解决方案,但我不知道如何仅将提取的数字限制在所需的序列上。
如果我在这个字符串上使用str.replaceAll("[^0-9]", ""),我会得到"2020032112345670723"这意味着它提取字符串中的所有数字,但我只想要包含一定数量数字的序列(在我的例子中是 7)。
此外,序列并不总是在同一位置,因此使用substring(index from, index to)将不起作用。
所以我有一个列表和几个字符串。我只想从每个字符串中删除前7个字符。我怎么做?
我试过了:
lst = ["1234567something", "1234567smthelse"]
for i in lst:
i [7:]
print lst
Run Code Online (Sandbox Code Playgroud)
但是我从一开始就得到了相同的清单...
我正在使用 Java 8,我的.txt文件中有一个字符串,我想将其转换为LocalDateTime对象。
String time1 = "2017-10-06T17:48:23.558";
DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("dd.MM.yyyy. HH:mm:ss");
LocalDateTime alarmTime = LocalDateTime.parse(time1, formatter1);
System.out.println(time1);
Run Code Online (Sandbox Code Playgroud)
这给了我这个例外:
Exception in thread "main" java.time.format.DateTimeParseException: Text '2017-10-06T17:48:23.558' could not be parsed at index 2
at java.time.format.DateTimeFormatter.parseResolved0(Unknown Source)
at java.time.format.DateTimeFormatter.parse(Unknown Source)
at java.time.LocalDateTime.parse(Unknown Source)
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
PS注意这个:
DateTimeFormatter formatter = DateTimeFormat.forPattern("dd.MM.yyyy. HH:mm:ss");
DateTime dt = formatter.parseDateTime(string);
Run Code Online (Sandbox Code Playgroud)
在 Java 8 中不起作用。
编辑:我没有把问题说清楚,我的错:
我的.txt文件中有这个字符串,我需要将它转换为LocalDateTime对象以便将它保存到一个类对象中,但我需要按照规定的格式将它打印出来,以便在表格中打印出来。我不希望它以原始格式打印出来"2017-10-06T17:48:23.558"。我希望它打印出这样的东西:"10.06.2017. 17:48:23"