[英]How to handle case-insensitive string replacement without using Regex in Java
[英]How to do a case-insensitive string replacement
嗨朋友我正在創建一個應用程序。
我想在ArrayList
找到一個特定的單詞,我必須替換
用另一個詞來說。 我使用下面的代碼。 它區分大小寫,
但我想讓它工作不敏感。
FillintheBlank.class:
public class FillintheBlank extends Activity {
static ArrayList<String> multiword=new ArrayList<String>();
static ArrayList<String> multimeaning=new ArrayList<String>();
public void setNoTitle() {
requestWindowFeature(Window.FEATURE_NO_TITLE);
}
float screenHeight,screenWidth,screendensity;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setNoTitle();
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
screenHeight = displaymetrics.heightPixels;
screenWidth = displaymetrics.widthPixels;
screendensity = displaymetrics.densityDpi;
setContentView(R.layout.fillinblanknew);
multiword.add("radha");
multiword.add("RAdHA");
multiword.add("latha");
multiword.add("mammu");
s.o.p(""+multiword);
// output:radha,RADHA,latha,mamu
multimeaning.add(multiword.getString().replace(radha,"sai"));
s.o.p(""+multimeaning);
// output: sai,RADHA,latha,mamu
}
}
例如:無論'radha'中的字母是什么,我都需要用'sai'替換'radha'。
可以使用正則表達式。 只需在字符串前添加(?i)即可忽略大小寫。
例如:
multiword.getString()。replaceAll(“(?i)radha”,“sai”);
您可以在字符串前面“(?i)”模式以忽略大小寫。
public class StringReplace {
public static void main(String[] args) {
System.out.println(replaceString("This is a FISH", "IS"));
}
public static String replaceString(String first, String second) {
return first.replaceAll("(?i)"+ second, "");
}
}
上面的代碼將返回“Th a FH”。
通過apache commons lang3 - v3.5或更高版本使用StringUtils(因此您不必擔心正則表達式解析):
StringUtils.replaceIgnoreCase(text, searchString, replacement);
要么:
StringUtils.replaceOnceIgnoreCase(text, searchString, replacement);
如果您使用maven,請添加此依賴項(我使用的是版本3.6):
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.6</version>
</dependency>
您可以使用String類中的equalsIgnoreCase(string)
方法來實現您的目的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.