如果它们是尾随字符,则删除字符集

时间:2016-12-07 04:39:53

标签: java regex

我正在尝试从字符串中删除以下字符集(如果其中任何字符是尾随字符

删除结尾“'”,“ - ”,“ - ”,“' s”,“ly”,“ed”,“ing”,“ness”,“)”, “_”,“;”, “?”,“!”,“,”,“:”

我正在做以下

value.replaceAll("(ly|!|\\?|')+$","");

但是如果字符串是!lovely?! hi!?',则它会给我!lovely?! hi

我原以为!lovely?! hi!?

我真的很感激任何帮助。

2 个答案:

答案 0 :(得分:1)

使用此模式:

var patt = ([-?]|(ing|--|ly|ness|ed))(?=\s);
var result = str.replace(patt,"");

注意:您必须在patt中添加其他选项。

答案 1 :(得分:0)

首先匹配如果字符串以您的选项结尾,或者不在下面 -

string[] param = new string[(how many your counter param)]; 
param [0] = "test0"; 
param [1] = "test1"; 
param [2] = "test2"; 

in my example i give you 3
string sParams = JsonConvert.SerializeObject(param) ;
HttpGet("http://127.0.0.1/misc/api1.php?value=" + sParams);

等你的选择。

然后删除字符串中的最后一个字符,如果只是这样 -

if (value.endsWith("\'") || value.endsWith("--") || value.endsWith("-"))

检查以下示例代码以便更好地了解 -

value = value.substring(0, value.length()-1);

如果您想使用Java Regex进行比较,请以这种方式使用 -

String value = "!lovely?! hi!?'";
if (value.endsWith("\'") || value.endsWith("--") || value.endsWith("-")) {
   value = value.substring(0, value.length()-1);
}
System.out.println(value);
  1. 。*以多个字符开头。
  2. [' - - ly]为您提供实际的选项比较。为每个角色之间的空格提供选择。
  3. $ for String以其中任何一个结尾。
  4. 通过这种方式,您可以使用Regex来比较String。

    更具体地说,如果你想从字符串中删除最后一个,两个,三个和四个字符,你可以使用这种方法。

    if(value.matches(".*[' -- - ly ]$"))
    
相关问题