我正在编写一个股票程序,它(到目前为止)通过这样的请求从“Markit on Demand”获取数据:
http://dev.markitondemand.com/Api/v2/Quote/xml?symbol=aapl
这将返回 xml 中的数据,以及股票的各种度量(符号、名称、最后价格、变化、时间戳等)。
我在 Java 8 中创建 DateTimeFormatter 来制作时间戳时遇到问题。
时间戳的一个示例:
Fri Jul 18 15:59:00 UTC-04:00 2014
到目前为止,我拥有的模式如下:
EEE MMM d HH:mm:ss OOOO yyyy
我相信你们中的一些人可以发现,我在偏移方面遇到了麻烦。
从文档:
偏移量 X 和 x:这根据模式字母的数量格式化偏移量。一个字母只输出小时,例如“+01”,除非分钟不为零,在这种情况下也会输出分钟,例如“+0130”。两个字母输出小时和分钟,没有冒号,例如“+0130”。三个字母输出小时和分钟,带一个冒号,例如“+01:30”。四个字母输出小时和分钟以及可选的秒,没有冒号,例如“+013015”。五个字母输出小时和分钟以及可选的秒,带有冒号,例如“+01:30:15”。六个或更多字母抛出 IllegalArgumentException。当要输出的偏移量为零时,模式字母 'X'(大写)将输出 'Z',而模式字母 'x'(小写)将输出 '+00', '
Offset O:根据模式字母的数量格式化本地化的偏移量。一个字母输出本地化偏移量的缩写形式,即本地化偏移量文本,例如“GMT”,小时不带前导零,可选的两位数分钟和秒(如果非零)和冒号,例如“GMT+8” '。四个字母输出完整形式,它是本地化的偏移文本,例如'GMT,带有两位数的小时和分钟字段,可选的第二个字段(如果非零)和冒号,例如'GMT+08:00'。任何其他字母计数都会引发 IllegalArgumentException。
偏移 Z:这会根据模式字母的数量格式化偏移量。一、二或三个字母输出小时和分钟,不带冒号,例如“+0130”。当偏移量为零时,输出将为“+0000”。四个字母输出局部偏移的完整形式,相当于Offset-O的四个字母。如果偏移为零,则输出将是相应的本地化偏移文本。五个字母输出小时、分钟,如果非零,可选秒,带冒号。如果偏移为零,则输出“Z”。六个或更多字母抛出 IllegalArgumentException。
// String rawDate = Fri Jul 18 15:59:00 UTC-04:00 2014
DateTimeFormatter PARSER_PATTERN = DateTimeFormatter.ofPattern("EEE MMM d HH:mm:ss 'UTC'XXX yyyy");
ZonedDateTime timeStamp = ZonedDateTime.parse(rawDate, PARSER_PATTERN);
Run Code Online (Sandbox Code Playgroud)
这有效,但我很好奇为什么(代替'UTC'XXX)OOOO不起作用。
private static boolean moreThanOnce(ArrayList<Integer> list, int number) {
if (list.contains(number)) {
return true;
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
如何list.contains检查是否在列表中多次找到该号码?我可以用for循环创建一个方法,但我想知道是否可以使用.contains. 感谢帮助!
我无法弄清楚反向否定查找。假设我有一个文本
qwe abc
qwe abc
abc
Run Code Online (Sandbox Code Playgroud)
我想找到所有abc没有在后面的qwe,后面可能有任意数量的空格。
(?<!qwe)\s*?(abc)
Run Code Online (Sandbox Code Playgroud)
匹配一切。我认为它类似于“匹配任意数量的空格,abc如果qwe前面没有空格”
我也试过
qwe|(abs)
Run Code Online (Sandbox Code Playgroud)
方法,但它对我不起作用。尽管对于我不希望 match 起作用的情况,组是空的,但我真的不知道如何将它与re.sub函数(需要)一起使用。即使组为空,也会re.sub替换字符串。
环境:python 3
我有一个String:
String thestra = "/aaa/bbb/ccc/ddd/eee";
Run Code Online (Sandbox Code Playgroud)
在我的情况下,每次刺痛,至少都会出现两次斜线。
我得到类似下面的内容,它是字符串中/aaa/字符的“前两次出现”之间的子字符串。/
System.out.println("/" + thestra.split("\\/")[1] + "/");
Run Code Online (Sandbox Code Playgroud)
它解决了我的目的,但我想知道是否还有其他优雅且干净的替代方案?
请注意,我需要在 周围使用两个斜杠(前导和尾随)aaa。IE/aaa/
我有多个板。在我的 bash 脚本中,我想使用正则表达式捕获我的根文件系统名称。当我做 a 时cat /proc/cmdline,我有这个:
BOOT_IMAGE=/vmlinuz-5.15.0-57-generic root=/dev/mapper/vgubuntu-root ro quiet splash vt.handoff=7
Run Code Online (Sandbox Code Playgroud)
我只想选择/dev/mapper/vgubuntu-root
到目前为止我已经成功地root=/dev/mapper/vgubuntu-root使用这个命令
\broot=[^ ]+
Run Code Online (Sandbox Code Playgroud) 我的文件中有以下几行
$ cat test.txt
69|1074330570|1,sip:+121345633210x3Bverstat=TN-Validation-Passed|tel:+12134565534|0
69|1077822111|2,;tel:+2223120011~sip:+2223120051@vzpps.com;|sip:+13123120022@vzpps.com|0
69|1077988012|1,sip:+121510016070x3Bverstat=TN-Validation-Passed|tel:+136965339510x3Bnpd|0
Run Code Online (Sandbox Code Playgroud)
我想用电话号码替换文件中的第三列和第四列,如下所示:
69|1074330570|2134563321|2134565534|0
69|1077822111|2223120011|3123120022|0
69|1077988012|2151001607|3696533951|0
Run Code Online (Sandbox Code Playgroud)
好的部分是所有文件在第三列和第四列中都会有一个“+”。现在困难的部分是,有时我们会得到第一行第三列中注意到的 11 位数字 (121345633210),有时“+”后没有添加“1”。因此,如果加号后面有 1,则排除 1。否则,从“+”号后面开始长度。同样,如果有 11 位数字,只需子串 10。此外,如果有超过 1 个数字(如第 2 行),我只需要选取“+”号后面的第一个数字,例如 2223120011,而不是 2223120051。
我尝试了以下方法
awk -F"|" 'BEGIN {FS="+"}{print substr($3,2,10)}' test.txt
Run Code Online (Sandbox Code Playgroud)
但它为第二行提供了不正确的值,因为它需要在“+”号之后开始。
我正在尝试使用 解析包含日期和时间的字符串java.time.format.DateTimeFormatter(我的最终目标是将此字符串中的日期转换为java.time.LocalDate)。
尝试解析日期时,我不断收到 DateTimeParseExceptions。有人可以帮忙吗?
日期的格式为“2015-07-14T11:42:12.000+01:00”。
DateTimeFormatter f = DateTimeFormatter.ofPattern("yyyy-MM-ddTHH:mm:ss.SSSZ");
LocalDateTime temp = LocalDateTime.ofInstant(Instant.from(f.parse(this.dateCreated)),
ZoneId.systemDefault());
LocalDate localDate = temp.toLocalDate();
Run Code Online (Sandbox Code Playgroud)
我在 ofPattern 中尝试了不同的变体,例如尝试通过用单引号将 T 括起来(如上所述)来转义 T,并对 . 我试过同时逃避两者。
冒号也需要转义吗?
感谢您对此的任何帮助。
我有一个Spring Boot应用程序,可从Vault中提取秘密,我想在Spring Boot应用程序的应用程序属性文件中使用这些秘密。
def VAR = new groovy.json.JsonSlurper().parseText(secret)[0].VARKEY
if(VAR != ''){
echo "Vault Secret pulled Successfully pass is "+VAR
}else{
echo "Vault Secret Not Found"
}
Run Code Online (Sandbox Code Playgroud)
上面的代码成功设置了变量VAR,然后如何使用VAR在Spring Boot应用程序的应用程序属性文件中设置某些值?
谢谢
我已经有一个正在运行的 Keycloak 实例,其中有很多注册用户。如何在不手动操作的情况下向所有用户添加新的自定义属性(具有空值)?
我正在将 servlet 4.0.1 升级到 servlet 5.0。我正在使用以下 servlet 4.0.1 的 Maven 依赖项
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
当我升级到 servlet 5.0 时,我看到有一个新术语“Jakarta”,并且 servlet5 附带具有以下 maven 依赖项的 Jakarta API。
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>5.0.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
因此,我尝试在互联网上搜索但找不到以下问题
还请建议任何文档以供参考(如果有)