说我有两个字符串,
String s1 = "AbBaCca";
String s2 = "bac";
Run Code Online (Sandbox Code Playgroud)
我想执行一个s2包含在其中的检查返回s1.我可以这样做:
return s1.contains(s2);
Run Code Online (Sandbox Code Playgroud)
我很确定这contains()是区分大小写的,但是我无法通过阅读文档来确定这一点.如果是,那么我想我最好的方法是这样的:
return s1.toLowerCase().contains(s2.toLowerCase());
Run Code Online (Sandbox Code Playgroud)
除此之外,还有另一种(可能更好的)方法来实现这一目标而不关心区分大小写吗?
我使用HashMap存储缩写的完整表单.
public class Test {
public static void main(String[] args) {
Map<String, String> slangs = new HashMap<String, String>();
slangs.put("lol", "laugh out loud");
slangs.put("r", " are ");
slangs.put("n", " and ");
slangs.put("idk", " I don't know ");
slangs.put("u", " you ");
Set set = slangs.entrySet();
Iterator i = set.iterator();
String sentence = "lol how are you";
StringBuilder sb = new StringBuilder();
for (String word : sentence.split(" ")) {
while(i.hasNext()) {
Map.Entry<String, String> me = (Map.Entry)i.next();
if (word.equalsIgnoreCase(me.getKey())) {
sb.append(me.getValue());
continue;
} …Run Code Online (Sandbox Code Playgroud) 我正在编写一个程序来比较几个字符与Char数组并返回数组的索引.有没有可能比较忽略情况的方法?例如下面:
String in = "I AM A HAPPY BOY";
char[] cha = new char[] {a,c,e,g,i,k,h,m,o,q,s,u,w,y};
char testChar = in.substring(4,5).charAt(0);
for(int a = 0; a<char.length; a++){
if(cha[a] == testChar)
return a+1;
}
Run Code Online (Sandbox Code Playgroud)
我无法得到索引,因为它总是指向0.无论如何都要忽略这里的情况?感谢一些建议.