[英]Regular expression for multiple of 2 in java
我想知道如何為多個 2 編寫正則表達式。
例如 :
2 4 6 8 10..
我想忽略“%”的奇數,我想拆分“,”。
例如 :
String.split("(?<!%{odd number}),");
您不需要為此使用正則表達式 - 這太過分了。
相反,您可以簡單地除以 2 並檢查余數是否為 0 - 如果是,則您知道您的數字是 2 的倍數。
得到余數:
int x = 3;
int remainder = x % 2
if (remainder == 0) {
//multiple of 2
} else {
//not multiple of 2
}
Martin Konecny在這件事上使用正則表達式是正確的,這是一種矯枉過正,您可以通過其他方式完成您想要的事情如下:
如果他們阻止您使用%
操作數,您也可以使用這種方式
代碼:
try(Scanner input = new Scanner(System.in)){
System.out.print("Enter your number to see if it is odd or even: ");
int result = input.nextInt();
while( result >= 2){
result -= 2;
}
if ( result == 1) {
System.out.println("odd");
}else
System.out.println("even ");
}
解釋:當你得到一個時,你不斷地從數字中減去 2 是奇數,否則它是偶數
注:這是一道面試題
在Java 8
代碼:
List<Integer> list = Arrays.asList(1,2,3,4);
list.stream()
.filter( i -> i%2 == 0 )
.forEach( i -> System.out.print(" " + i));
輸出:
2 4
假設您的輸入類似於: "%%%,%%,%%%%,%"
並且您希望以["%%","%%%%"]
結尾,首先在逗號上拆分:
String[] split= "%%%,%%,%%%%,%".split(",");
然后按偶數個'%'過濾掉
ArrayList<String> result = new ArrayList();
for(String s:split){
if(!s.matches("(%%)*%"))
result.add(s);
}
System.out.println(result);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.