我想捕获Java String中特定正则表达式的索引.该字符串可以用单引号或双引号括起来(有时没有引号).如何使用Java捕获该索引?
例如:
capture String --> class = ('|"|)word('|"|)
Run Code Online (Sandbox Code Playgroud) 是否有任何可能的方法来创建FileInputStream标记支持的功能true?
使用Jsoup我尝试解析给定的html内容.在Jsoup.parse()之后,html输出将html,head和body标记附加到输入.我只是想忽略这些.
样本输入:
<p><b>This <i>is</i></b> <i>my sentence</i> of text.</p>
Run Code Online (Sandbox Code Playgroud)
Java代码:
import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class HTMLParse {
public static void main(String args[]) throws IOException {
try{
File input = new File("/ab.html");
String html = FileUtils.readFileToString(input, null);
Document doc = Jsoup.parseBodyFragment(html);
doc.outputSettings().prettyPrint(false);
System.out.println(doc.html());
}
catch(Exception e){
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
实际产量:
<html><head></head><body><p><b>This <i>is</i></b> <i>my sentence</i> of text.</p>
</body></html>
Run Code Online (Sandbox Code Playgroud)
预期产出:
<p><b>This <i>is</i></b> <i>my sentence</i> of text.</p>
Run Code Online (Sandbox Code Playgroud)
请帮忙.
在Java中,是否有可用的第三方源或快速命令将字符串中的html特殊字符转换为html编码内容?
例如:
Original code: <>&abcdef ©
After encoding: <>&abcdef©
Run Code Online (Sandbox Code Playgroud) 要验证smtp服务器凭据,我应该使用transport.connect()?
Session session = Session.getInstance(properties,authenticator);
Transport tr=session.getTransport("smtp");
tr.connect();
Run Code Online (Sandbox Code Playgroud)
检查smtp服务器凭据是否正确?
使用jdk1.7.0_55,我将parseposition.errorIndex设为0,以防时区不是标准的.
但是使用jdk1.6.0_38我得到的parseposition.errorIndex为21,用于相同的错误时区格式
以下是样本:
String date = "13 Jan 2005 21:45:34 ABC";
String format = "dd MMM yyyy HH:mm:ss z";
ParsePosition pp = new ParsePosition(0);
pp.setIndex(0);
SimpleDateFormat sd = new SimpleDateFormat(format,Locale.ENGLISH);
Date d = sd.parse(date,pp);
System.out.println("Error Index "+pp.getErrorIndex());
Run Code Online (Sandbox Code Playgroud)
结果使用jdk 6:
错误索引21
结果使用jdk 7
错误索引0
为什么会有区别?
请帮忙
请考虑以下代码:
JSONObject json = new JSONObject();
json.put("one", 1);
json.put("two", 2);
json.put("three", 3);
Run Code Online (Sandbox Code Playgroud)
如果我打印jsonobject它打印像这样
{"three":"1","two":"2","one":"1"}
Run Code Online (Sandbox Code Playgroud)
但我想要这样.
{"one":"1","two":"2","three":"3"}
Run Code Online (Sandbox Code Playgroud)
请帮忙.提前致谢.
我需要验证给定的输入字符串是一个有效Timestamp的毫秒.
例如,如果给定 Timestamp
String time ="1310966356458";
Run Code Online (Sandbox Code Playgroud)
然后它应该返回true.
如果
String time ="1000";
Run Code Online (Sandbox Code Playgroud)
然后它应该返回false;
请帮忙.提前致谢
在java Program中,参数String在方法声明中定义.但是在方法定义中,它作为final String变量被访问.是否会导致一些问题(如安全性,内存问题)?
例如:
方法声明
join(String a,String b);
Run Code Online (Sandbox Code Playgroud)
方法定义
public void join(final String a,final String b)
{
Authenticator au = new Authenticator(){
public PasswordAuthentication getPasswordAuthentication(){
return new PasswordAuthentication(a,b)}
};
}
Run Code Online (Sandbox Code Playgroud)
请帮助我,澄清我的疑虑.提前致谢
PS我正在访问a和b作为最终变量,因为我必须在内部类中使用它.
我有一个地图数组。其中我需要做一些计算并返回另一个 Map 并将相同的键计数添加到结果中的值中。我试过下面的一个。但由于它是并行运行的,因此不会添加它。
请帮助改进它
我可以在正常的 for 循环中实现这一点。
public Map<Long,Long> solve(Map<String,Stats>... map){
Map<Long,Long> resultCount = new HashMap<Long,Long>();
if(map != null){
resultCount = Arrays.stream(map).filter(Objects::nonNull).map(map -> getUserCountMap(map))
.collect(HashMap::new, Map::putAll, Map::putAll);
}
return resultCount;
}
public Map<Long,Long> getUserCountMap(Map<String, Stats> map) {
Map<Long,Long> resultCount = new HashMap<Long,Long>();
map.forEach((k,v)->{
try {
String key = (String) k;
Stats userValue = (Stats) v;
Long userId = new Long(key);
System.out.println("key :::"+key+":::"+resultCount.getOrDefault(userId, 0l));
Optional<Long> count = userValue.getCount();
System.out.println(count.get());
count.ifPresent(aLong -> resultCount.put(userId, (resultCount.getOrDefault(userId, 0l) + aLong)));
System.out.println(resultCount);
} catch (Exception e) …Run Code Online (Sandbox Code Playgroud) 实际上我在邮件中使用UTF-8编码形式的String.我希望它解码它.我使用Java mimeutility.decode文本.但它没有正确解码.示例字符串
=?UTF-8 2 B 4 0J/RgNC40LLQtdGC?==?UTF-8 2 B 4 0JfQtNGA0LDQstGB0YLQstGD0LnRgtC1?=
我用的时候
MimeUtility.decodeText( "=?UTF-8 2 B 4 0J/RgNC40LLQtdGC?==?UTF-8 2 B 4 0JfQtNGA0LDQstGB0YLQstGD0LnRgtC1?=")
它产生了
Привет=?UTF-8 2 B 4 0JfQtNGA0LDQstGB0YLQstGD0LnRgtC1?=
请帮我.提前致谢
我从MimeMessage获得输入流.在InputStream中,最后我要添加\ r \n.\ r \n
表示消息的结尾.
请建议.
java ×13
html ×2
jakarta-mail ×2
final ×1
inputstream ×1
java-7 ×1
java-8 ×1
java-stream ×1
jdk1.6 ×1
json ×1
jsoup ×1
lambda ×1
parsing ×1
smtp-auth ×1
utf-8 ×1