记录小知识点5.11
选取两个字符串中相同的部分。
字符串转化成数字。
String what="222222679";
String that="23457";
String same=theSame(what,that);
System.out.println(same);
Double j=Double.parseDouble(same);
System.out.println(j);
int i=Integer.parseInt(same);
System.out.println(i);
}
public static String theSame(String str1,String str2) {
String s="";
for(int i=0;i<str1.length();i++)
for(int j=0;j<str2.length();j++)
{
if(str1.charAt(i)==str2.charAt(j))
s=s+str1.charAt(i);
}
return s;
选取倒数第二个个*号后面的部分
String a="*adhkad*sajdh*2345*jjjjjj*";
String oo=a.substring(a.lastIndexOf("*",a.lastIndexOf("*")-1)+2);
System.out.println(oo);
正则表达式(选取字符串中所有的数字)
public int test(String strInput) {
String regEx = "[^0-9]";//匹配指定范围内的数字
//Pattern是一个正则表达式经编译后的表现模式
Pattern p = Pattern.compile(regEx);
// 一个Matcher对象是一个状态机器,它依据Pattern对象做为匹配模式对字符串展开匹配检查。
Matcher m = p.matcher(strInput);
//将输入的字符串中非数字部分用空格取代并存入一个字符串
String string = m.replaceAll(" ").trim();
//以空格为分割符在讲数字存入一个字符串数组中
String[] strArr = string.split(" ");
//遍历数组转换数据类型输出
StringBuilder sb = new StringBuilder();
for (int i = 0; i < strArr.length; i++) {
sb.append(strArr[i]);
}
String str = sb.toString();
return Integer.parseInt(str);
字符串中
action.contains("农夫山泉") //包含
dq.equals("洗衣机") //相等
//常用于if语句中
选取两个字符串中一样的部分,可以通过the same提取出来,后转化成int,或者double类型
String standard="1234567890.";
String string=theSame(str,standard);
comeprice=Integer.parseInt(string);
public static String theSame(String str1,String str2) {
String s="";
for(int i=0;i<str1.length();i++)
for(int j=0;j<str2.length();j++)
{
if(str1.charAt(i)==str2.charAt(j))
s=s+str1.charAt(i);
}
return s;
提取字符串中的所有数字,分开不相连的数字。1
public class ZhaoShuZi {
static final int num=0;
public static String theSame(String str1,String str2) {
String s="";
for(int i=0;i<str1.length();i++)
for(int j=0;j<str2.length();j++){
if(str1.charAt(i)==str2.charAt(j))
s=s+str1.charAt(i);
}
return s;
}
public static int theSame2(String str1,String str2) {
String s="";
int sum=0;
for(int i=0;i<str1.length();i++) {
int flag = 0;
for (int j = 0; j < str2.length(); j++) {
if (str1.charAt(i) == str2.charAt(j)) {
s = s + str1.charAt(i);
flag = 1;
}
}
if (flag == 0 && !s.endsWith(",") && s.length() > 0){
s+=",";
}
}
String[] split = s.split(",");//以逗号分割
for (String string2 : split) {
sum+=Integer.parseInt(string2);
}
return sum;
}
public static void main(String[] args) {
String str="iu7i8csr83sdf91";
String standed="1234567890.";
String numstring=theSame(str,standed);
int nums=Integer.parseInt(numstring);
System.out.println(nums);
//s:7,8,83,91
int sum=theSame2(str,standed);
System.out.println(sum);
}
}
til.Arrays;
public class test_2 {
static int[]num={0,1,0,3,12};
static String x="iu7i8csr83sdf91";
static int k=4;
static int address=0;
public static void main(String[]Args){
System.out.println(add(x));
test_2 test = new test_2();
test.rotate(num,k);
test.moveZeroes(num);
}
public static float add(String x){
boolean j=true;
float sum=0;
while (j){
if(address==x.length()-1){
break;
}
sum+=getNum(x,address);
}
return sum;
}
public static float getNum(String input,int start){
float ans=0;
int lang=input.length();
boolean x=false;
while ((input.charAt(start))<48||(input.charAt(start))>57){
start++;
if(start>lang-1){
break;
}
}
if(start<=lang-1){
for(;input.charAt(start)>=48&&input.charAt(start)<=57;start++) {
x = true;
ans *= 10;
ans += input.charAt(start) - '0';
if(start==lang-1){
break;
}
}
}
if(start<=lang-2&&input.charAt(start)=='.'){
start++;
for(;input.charAt(start)>=48&&input.charAt(start)<=57;start++) {
x = true;
ans *= 10;
ans += input.charAt(start) - '0';
ans=ans/10;
if(start==lang-1){
break;
}
}
}
address=start;
if(x){
return ans;
}else {
return -1;
}
}
public void moveZeroes(int[] nums) {
if (nums==null){
return;
}
int count=0;
int []ns=new int[]
for(int i=0;i<nums.length;i++){
if(nums[i]!=0){
System.out.print(nums[i]+", ");
}else {
count++;
}
}
for (int i=0;i<count-1;i++){
System.out.print("0"+", ");
}
System.out.print("0");
System.out.print(']');
}
public void rotate(int[] num, int k) {
if (num==null){
return;
}
int []aim=new int[num.length];
for(int i=0;i<k;i++){
aim[i]=num[num.length-k+i];
}
for(int i=k;i<num.length;i++){
aim[i]=num[i-k];
}
System.out.println(Arrays.toString(aim));
}
}