删除/替换字符串值的一部分

时间:2019-11-14 09:02:41

标签: java

我必须从给定的字符串中删除单词。

示例:

输入:

"H|013450107776|10/15/2019
D|0000TXN001|10/15/2019|013450107806|LCUATADA05|1000.00|Successful"

输出:

"PAYMENT FOR SERVICE"

注意:******* Model ******** use Illuminate\Support\Str; public function getSomeFieldAttribute($value) { return str_limit($value, 50); } 是一个动态字符串值,可以是任何东西。

我尝试使用replace()和regex函数,但是我无法获得确切的输出。

6 个答案:

答案 0 :(得分:3)

以下代码将起作用。

public static String replace(String original, String toRemove) {
    Arrays.stream(original.split("\\|"))
          .filter(s -> !(s.equals(toRemove)))
          .collect(Collectors.joining("|"));
}

首先,创建一个StreamStrings)中的Stream<String>,它们最初由|分隔。

第二,对其进行过滤,因此Strings中仅保留不等于toRemove的{​​{1}}。

然后,使用Stream和连字符joining进行收集。

答案 1 :(得分:0)

在“ |”上分割字符串并假设您要替换的字词始终在同一位置,则以下内容即可满足您的需求:

String s = "H|013450107776|10/15/2019D|0000TXN001|10/15/2019|013450107806|LCUATADA05|1000.00|PAYMENT FOR SERVICE|Successful";
String result = s.replace(s.split("\\|")[8], "");
System.out.println(result);

它打印出来:

  

H | 013450107776 | 10/15 / 2019D | 0000TXN001 | 10/15/2019 | 013450107806 | LCUATADA05 | 1000.00 ||成功

答案 2 :(得分:0)

这是我喜欢使用的技巧:

using UnityEngine;

public class unityRecieve : MonoBehaviour
{
    // Start is called 
    void Start()
    {
        GameObject obj = GameObject.Find("Cube");
        obj.AddComponent<Animation>();
    }

    // Update is called once per frame
    void Update()
    {

    }
}

要了解其工作原理,请考虑以下输入:

String input = "H|013450107776|10/15/2019D|0000TXN001|10/15/2019|013450107806|LCUATADA05|1000.00|PAYMENT FOR SERVICE|Successful";
System.out.println(input);
input = "|" + input + "|";
String output = input.replaceFirst("\\|PAYMENT FOR SERVICE\\|", "|");
output = output.substring(1, output.length()-1);
System.out.println(output);

假设我们要删除A|B|C 。我们首先形成字符串:

A

然后,我们将|A|B|C| 替换为|A|,得到:

|

最后,我们剥离那些最初添加的管道分隔符以得出:

|B|C|

答案 3 :(得分:0)

public static void main(String[] args) {
        String str = "H|013450107776|10/15/2019D|0000TXN001|10/15/2019|013450107806|LCUATADA05|1000.00|PAYMENT FOR SERVICE|Successful";
        String scut = "PAYMENT FOR SERVICE";
        System.out.println(str.substring(0,str.indexOf(scut)) + str.substring(str.indexOf(scut)+scut.length()+1,str.length()));
    }

答案 4 :(得分:0)

String str = "H|013450107776|10/15/2019D|0000TXN001|10/15/2019|013450107806|LCUATADA05|1000.00|PAYMENT FOR SERVICE|Successful";
System.out.println(str.replaceAll("PAYMENT FOR SERVICE|", ""));`

答案 5 :(得分:-3)

替换||之间的所有大写单词用“ |”

例如:“ | A G G SLG SD GSD G |” ->“ |”

input.replaceAll(“ \\ | [A-Z \\ s] + \\ |”,“ |”)

\\ s-任何空格符号 A-Z-A和Z之间的符号

更多信息:https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html