我想通过忽略字母的情况来检查两组String的所有元素是否相等.
Set<String> set1 ;
Set<String> set2 ;
.
.
.
if(set1.equals(set2)){ //all elements of set1 are equal to set2
//dosomething
}
else{
//do something else
}
Run Code Online (Sandbox Code Playgroud)
但是,此等式检查不会忽略字符串的情况.还有其他方法吗?
我正在尝试将所有拉丁语unicode字符转换为它们的[a-z]表示形式
ó --> o
í --> i
Run Code Online (Sandbox Code Playgroud)
我可以轻松地逐一进行,例如:
myString = myString.replaceAll("ó","o");
Run Code Online (Sandbox Code Playgroud)
但由于存在大量的变化,这种方法是不切实际的
有没有其他方式在Java中这样做?例如a regular Expression或autility library
使用案例:
1-城市名称从其他语言到英语,例如
EspíritoSanto - > Espirito Santo,
考虑以下字符串:
我知道,我正试图以这样的方式对这些词进行排序,以至于类似的词汇汇集在一起
alphanumerical sorting 不是一种选择",-_ and etc然后比较肯定是有帮助的,但结果将不如我希望的那么好.注意 :
可能没有多少不同的期望输出,其中一个是:
期望的输出:
所以我的问题是,如果有一个java包比较字符串并最终根据它进行排序.
我听说过这样的术语n-gram,skip-gram但并不完全理解它们.我甚至不确定它们是否对我有用.
更新:找到相似之处肯定是我的问题的一部分,但主要问题是排序部分.
我有一组正则表达式替换需要应用于一组字符串,
例如:
("\s{2,}" --> " ")(\.([a-zA-Z]-->". $1") 所以我会有这样的东西:
String s="hello .how are you?";
s=s.replaceAll("\\s{2,}"," ");
s=s.replaceAll("\\.([a-zA-Z])",". $1");
....
Run Code Online (Sandbox Code Playgroud)
它可以工作,但是想象一下我正在尝试替换一个长字符串上的 100 多个这样的表达式。不用说这有多慢。
所以我的问题是是否有一种更有效的方法来使用单个replaceAll(或类似的东西,例如模式/匹配器)来概括这些替换
我已经按照Java替换了多个不同的...,
但问题是我的正则表达式不是simple Strings。
无论如何,那司机能记住logged in session,所以它不会带我回到Login页面(例如喜欢google-chrome)吗?
这就是我现在正在做的事情
public static void main(String[] args) throws Exception {
driver = new ChromeDriver();
driver.get("http://localhost/interestingStuff); //I get redirected to login page
login(); //logins in to the page and submits(note I try to omit this part if possible).
doStuff();
driver.close(); //I want to be able to keep session next time I start this program.
}
Run Code Online (Sandbox Code Playgroud) 我正在使用javax.Json.JsonArray对象.
方法:javax.Json.JsonArray.getvaluesAs(Class<T>)返回JsonArrayas List.所以我想做的就是List进入一个Set.这就是我做的:
Set values= new HashSet(myjsonArray.getValuesAs(null));
Run Code Online (Sandbox Code Playgroud)
这工作正常,但我知道myjsonArray只包含String.所以我真正想做的是:
Set<String> values= new HashSet(myjsonArray.getValuesAs(String.class));
Run Code Online (Sandbox Code Playgroud)
由于某些原因上面的代码我得到编译器错误:
The generic method getValuesAs(Class<T>) of type JsonArray is not applicable for the arguments (Class<String>). The inferred type String is not a valid substitute for the bounded parameter <T extends JsonValue>
Run Code Online (Sandbox Code Playgroud)
我可以Set<String>使用我的内置循环,但我尽量避免这种情况,因此上面的错误有一个简单的解决方法吗?
首先,我是python中的新手,如果您考虑投票,请发表评论
我有一个网址,如
http://example.com/here/there/index.html
Run Code Online (Sandbox Code Playgroud)
现在我想将文件及其内容保存在目录中.我希望文件的名称是:
http://example.com/here/there/index.html
Run Code Online (Sandbox Code Playgroud)
但我得到错误,我猜这个错误是/ 在url名称中的结果.
这就是我现在正在做的事情.
with open('~/' + response.url, 'w') as f:
f.write(response.body)
Run Code Online (Sandbox Code Playgroud)
任何想法我应该怎么做呢?
我一直在尝试创建一个for loop打印任意两个输入之间的所有整数integers.
例如:
如果我输入1和4,它应该打印1,2,3,4.
但是,我当前的代码只打印最终输入.(标记为"结束"的那个)
什么可以用我的代码?请注意,if语句会检查以确保输入有效.
{
int start = Integer.parseInt(startingInput.getText());
int end = Integer.parseInt(endingInput.getText());
if (start >= end) {
hintLabel.setText("Please input valid numbers");
}
else {
for (int count = start; count <= end; count++) {
outputArea.setText(count + ", ");
}
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个包含20M +文件的目录.如果我试试
folder.list();
Run Code Online (Sandbox Code Playgroud)
获取文件大约需要5~10分钟(有时甚至更多).我不需要所有的文件名,每次只需要少数几个.
在Linux中如果我尝试:
ls -l | head -n 100:这将永远ls -f | head -n 100:响应在几秒钟内获得.因此,如果我使用ProcessBuilder并运行类似的东西,我可以快速列出文件ls -f | head -n 100
是否有本地方式在目录中列出固定数量的文件而无需使用ProcessBuilder?
我喜欢使用seleniumin 在页面中选择此标记java
<input class="btn btn-success addReportBtn" type="submit" />
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止所尝试的:
driver.findElement(By.xpath("//input[type=submit]"));
driver.findElement(By.cssSelector("//input[@type='submit']"));
Run Code Online (Sandbox Code Playgroud)
我分别得到了这两个例外:
org.openqa.selenium.NoSuchElementException:没有这样的元素:无法定位元素:{"method":"xpath","selector":"input [type = submit]"}
org.openqa.selenium.InvalidSelectorException:无效的选择器:指定了无效或非法的选择器
如果我使用Jsoup我可以通过以下方式轻松实现:
System.out.println(document.select("input[type=submit]"));
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我的java服务器的工作原理如下:
http://locahost:5555/?search="java"
Run Code Online (Sandbox Code Playgroud)
上面的链接可以正常工作.但是,如果我想使用"#"作为搜索字符串的一部分,那一切都会出错.例如:
http://locahost:5555/?search="c#"
Run Code Online (Sandbox Code Playgroud)
出于某种原因,"#"之后的所有内容都会被忽略 如果我使用"#"的解码版本,它再次正常工作.例如:
http://locahost:5555/?search="c%23"
Run Code Online (Sandbox Code Playgroud)
该系统应该由不了解url编码的人使用,因此他们永远不会将%23而不是#.不管怎么说呢?
以下是我正在使用的代码:
它总是给我输出"无效的电子邮件地址"
BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
String name="";
do
{
System.out.println("Email:");
String email= br.readLine();
if(!name.matches("^[a-zA-Z0-9]+@[a-zA-Z0-9]+(.[a-zA-Z]{2,})$"))
System.out.println("Invalid email address");
else
break;
}while(true);
Run Code Online (Sandbox Code Playgroud)