Java: 有没有像 charAt() 这样的 int 方法?
Java: is there an int method like charAt()?
我不希望 "charAt(1);" 到 return 字符串中位置 1 的字符...我希望它报告 "matching = 1;"
的所有实例
以
为例
int matching = 1;
int notMatching = 0;
int HI = matching;
int IH = notMatching;
int searchString = theString.charAt(notMatching);
int count = 0;
int index = 0;
while (0 < theString.length())
{
int = theString.charAt(matching);
if (theString.charAt(notMatching) == searchString)
{
count = count + 1;
}
index = index + 1;
}
这不是一个很好的例子,但基本上是我想要的,或者这个程序应该做的是接受用户输入:
HIHIIH
并报告拼写为 IH 的 HI 实例...因此 return 例如;
System.out.println("HI was spelled as IH" + count + "times");
编辑:"Duplicate" 对我没有帮助
您可以使用 StringBuffer 的反向方法和 Pattern 和 Matcher,如下所示:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class SearchReverseString {
public static void main(String []args) {
String str = "HIHIIH";
String strToSearch = "HI";
String strToSearchReversed = new StringBuffer(strToSearch).reverse().toString();
Pattern strPattern = Pattern.compile(Pattern.quote(strToSearchReversed));
Matcher matcher = strPattern.matcher(str);
int counter = 0;
while(matcher.find()) {
++counter;
}
System.out.println(strToSearch+" was spelt as "+strToSearchReversed+" "+counter+" times");
}
}
输出是:
HI was spelt as IH 2 times
注意,在我的程序中,str代表输入的String,strToSearch代表倒序查找的String。使用 Pattern.quote 可确保自动转义任何元字符。
我不希望 "charAt(1);" 到 return 字符串中位置 1 的字符...我希望它报告 "matching = 1;"
的所有实例以
为例int matching = 1;
int notMatching = 0;
int HI = matching;
int IH = notMatching;
int searchString = theString.charAt(notMatching);
int count = 0;
int index = 0;
while (0 < theString.length())
{
int = theString.charAt(matching);
if (theString.charAt(notMatching) == searchString)
{
count = count + 1;
}
index = index + 1;
}
这不是一个很好的例子,但基本上是我想要的,或者这个程序应该做的是接受用户输入:
HIHIIH
并报告拼写为 IH 的 HI 实例...因此 return 例如;
System.out.println("HI was spelled as IH" + count + "times");
编辑:"Duplicate" 对我没有帮助
您可以使用 StringBuffer 的反向方法和 Pattern 和 Matcher,如下所示:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class SearchReverseString {
public static void main(String []args) {
String str = "HIHIIH";
String strToSearch = "HI";
String strToSearchReversed = new StringBuffer(strToSearch).reverse().toString();
Pattern strPattern = Pattern.compile(Pattern.quote(strToSearchReversed));
Matcher matcher = strPattern.matcher(str);
int counter = 0;
while(matcher.find()) {
++counter;
}
System.out.println(strToSearch+" was spelt as "+strToSearchReversed+" "+counter+" times");
}
}
输出是:
HI was spelt as IH 2 times
注意,在我的程序中,str代表输入的String,strToSearch代表倒序查找的String。使用 Pattern.quote 可确保自动转义任何元字符。