7

こんにちは友達私はアプリを作成しています。
で特定の単語を見つけたいのですが、 それを別の単語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」の文字の大文字と小文字が何であっても、「radha」を「sai」に置き換える必要があります。

4

4 に答える 4

11

正規表現を使用できます。文字列の前に(?i)を追加するだけで、大文字と小文字を区別できません。

したがって、たとえば:

multiword.getString()。replaceAll( "(?i)radha"、 "sai");

于 2013-03-25T11:03:22.580 に答える
1

文字列の前に「(?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, "");
    }
}

上記のコードは「ThaFH」を返します。

于 2017-05-10T22:17:04.027 に答える
0

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>
于 2018-02-18T07:31:20.637 に答える
-4

equalsIgnoreCase(string)Stringクラスにあるメソッドを目的に使用できます。

于 2013-03-25T11:00:38.960 に答える