java - 如何以编程方式查找字符串中的特定字符

标签 java string

如何在字符串中找到一个字母(如果是“cc”,则将其保留,但如果只有一个“c”,则将其删除)?

我不知道该怎么做,所以如果有人知道我会非常感激。

我尝试将整个字符串拆分为一个选项卡,然后检查索引是否为“c”,然后查看+-1索引,以检查“c”是否在它旁边,但它不起作用。

现在我更改了“==”,但它仍然缺少一些字母。 如果我输入“abaabbcbaccb”,它应该输出→“aabaaaabbaaccb” 我的程序错过了独立的“c”..

public class NovNiz{
public static String urejanjeBesedila(String a){
    String niz="";
    a.toLowerCase();
    String spr = a.replaceAll("a", "aa");
    spr = spr.toLowerCase();
    spr = spr.replaceAll("bb", "b");
    String []tab=spr.split(" ");
    if(tab.length>0){
        for(int i=0;i<tab.length;i++){
            if(tab[i].indexOf("cc")>0){
                niz=niz+tab[i]+" ";
                continue;           

            }
            if(tab[i].indexOf("c")>=0){
                    int x=tab[i].indexOf("c");
                    StringBuffer sb= new StringBuffer(tab[i]);
                    sb.deleteCharAt(x);
                    tab[i]=sb.toString();
                    }
            niz=niz+tab[i]+" ";
        }
    }
    else{
        String []tab2=spr.split("");
            for(int i=0;i<tab.length;i++){
                if(i==0){
                    if("c".equals(tab[i])&&"c".equals(tab[i+1])){

                    }
                    else if("c".equals(tab[i])){
                        tab[i]="";
                    }
                }
                else{
                if("c".equals(tab[i])&&"c".equals(tab[i+1])||"c".equals(tab[i-1])){

                    }
                else if("c".equals(tab[i])){
                    tab[i]="";
                    }
                }
            }
        }
    return niz;
}   

}

最佳答案

你可以这样做:

final String input = "I'm a test string to drop 'c' but not 'cc', 'ccc', 'cccc', ok ?";

String result = input
                    .replaceAll( "c([^c])", "$1" )
                    .replaceAll( "c([^c])", "cc$1" );

// result will be "I'm a test string to drop '' but not 'cc', 'ccc', 'cccc', ok ?"

关于java - 如何以编程方式查找字符串中的特定字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34575346/

相关文章:

java - Tomcat 无法识别 java 中的更改(Intellij 配置)

PHP 相当于 jQuery addClass

c++ - 如何计算 std::basic_string<TCHAR>

string - 根据 sas 中另一个字符变量的值重新编码字符变量中的值

php - 在考虑 "full stops"的情况下截断 html 文本(在 CachePHP TextHelper->truncate 中)

java - 是否可以使用 IText java 读取 itextsharp 生成的 pdf 表单?

java - java读写数据报错

java - EL 表达式不会在 Tomcat 5.5 中执行,但在 tomcat 6.0.20 中工作

java - Spring Integration 2 SOAP 调用数据库

Java替换所有字符串在所有单词周围添加引号但忽略句点