我必须从给定的字符串中删除单词。
示例:
输入:
"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函数,但是我无法获得确切的输出。
答案 0 :(得分:3)
以下代码将起作用。
public static String replace(String original, String toRemove) {
Arrays.stream(original.split("\\|"))
.filter(s -> !(s.equals(toRemove)))
.collect(Collectors.joining("|"));
}
首先,创建一个Stream
(Strings
)中的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