我在Power Query中有一个专栏(使用Excel进行独立电源查询),文本如下
“榛子浆果坚果覆盆子”
我需要能够识别其中是否有超过1个“坚果”(“浆果”)实例并删除通用词,以便得到结果
“榛子覆盆子”
我看过this post,但它重复了整个单词。
答案 0 :(得分:1)
我不完全确定您搜索要删除的单词的标准(PQ在如何使用内置函数对其进行评估方面相当有限)。这将查看该字符串并删除任何以“Nut”或“Berr”开头的单词。
public void listener() {
scanner.scannerListener = new ScannerListener() {
@Override
public void listener() {
sChecker = mEntryText.getText().toString();
if (sChecker.equals("")) ;
{
mScan = scanner.getScanResult();
Timber.d("The barcode is " + mScan);
if (!mScan.equals("")) {
int lmScan = mScan.length();
if (lmScan > 15) {
checkGs1Barcode();
}
String s = DatabaseMgr.VerifyItem(mScan);
if (s.length() > 1) {
if (s.equalsIgnoreCase("Unknown Item###")) {
Toast.makeText(getApplicationContext(), "Unknown Item", Toast.LENGTH_SHORT).show();
} else if (s.equalsIgnoreCase("Multiple Items###")) {
setupMultiItems(mScan);
} else {
String[] sArr = s.split("\\#");
String IsItem = sArr[0];
String IsItemDesc = sArr[1];
String isLevel = sArr[2];
String isLvlDesc = sArr[3];
Button ItemDescText = findViewById(R.id.btnDesc);
ItemDescText.setText(IsItemDesc);
TextView ItemUPCText = findViewById(R.id.editUPC);
ItemUPCText.setText(mScan);
Integer iQTY = ValidateQTYinArea(IsItem, "RTN", myArea, isLevel);
TextView mQty = findViewById(R.id.txtDetail);
String myResult = "RTN - " + myArea + " - " + isLvlDesc + " - " + iQTY;
mQty.setText(myResult);
mEntryText.setBackgroundColor(getResources().getColor(R.color.colorWhite));
mLoc.setBackgroundColor(getResources().getColor(R.color.colorYellow));
mLoc.requestFocus();
}
}
} else {
mLoc.setText(scanner.getScanResult());
}
}
}
};
}
哪个会得到你想要的输出。不知道你是否需要更详细的评估每个单词的标准,但这可能需要一个自定义函数。
答案 1 :(得分:0)
List.Distinct:https://docs.microsoft.com/en-ie/powerquery-m/list-distinct应该这样做;像这样:List.Distinct(Text.Split(“榛子浆果坚果覆盆子”,“”))
如果您的列表可能包含多个空格或其他“内容”,则可能需要更多的信息