小编mde*_*nci的帖子

如何从Java中的字符串中提取7个数字的序列?

假设我有一些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)将不起作用。

java string sequence

2
推荐指数
1
解决办法
847
查看次数

如何从列表中的字符串中删除前x个字符

所以我有一个列表和几个字符串。我只想从每个字符串中删除前7个字符。我怎么做?

我试过了:

lst = ["1234567something", "1234567smthelse"]

for i in lst:

    i [7:]

print lst
Run Code Online (Sandbox Code Playgroud)

但是我从一开始就得到了相同的清单...

python string list

0
推荐指数
1
解决办法
8528
查看次数

使用 Java 8 DateTimeFormatter 将字符串转换为 LocalDateTime

我正在使用 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"

java datetime datetime-format datetime-parsing java-time

0
推荐指数
1
解决办法
1万
查看次数