我找不到一种方法来裁剪包含白色边框的图像。

目前它是一个 UIImage,我尝试了一些解决方案,例如UIImage+Trim和CKImageAddons,但这些库不起作用。我认为部分问题是由于图像压缩,边框不是完全白色(我认为)。
有人找到解决方案吗?
谢谢,
我的字符串 html 中有一些段落如下所示:
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
</p>
Run Code Online (Sandbox Code Playgroud)
我想删除标签内的空白p并将其变成:
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua</p>
Run Code Online (Sandbox Code Playgroud)
请注意,p像这样的标签应该保持更改:
<p class="has-media media-640"><img alt="Lorem ipsum dolor sit amet" height="357" src="http://www.example.com/img/lorem.jpg" width="636"/></p>
Run Code Online (Sandbox Code Playgroud)
我想要的是:
for p in soup.findAll('p'):
replace p.string with trimmed text
Run Code Online (Sandbox Code Playgroud) 我必须从我们的 Web 服务客户端项目中的字符串中删除前导和尾随数字字符,因为出于某种原因,挪威另一端的 Web 服务不会接受Nicosia 1121作为字符串......
所以我决定构建一个可重用的小函数来做到这一点:
public static string CleanNosFromStr(string text, char charsToRemove)
{
var CleanedStr = text.TrimEnd(charsToRemove).TrimStart(charsToRemove);
return CleanedStr.ToString();
}
Run Code Online (Sandbox Code Playgroud)
我想这样称呼它:
char chars2Remove= new string("0,1,2,3,4, 5,6,7,8,9,0, ").Split(",");
wsSoapBody.CardCity =
myextensions.CleanNosFromStr(aMessage[(int)cardCreate.CardCity].ToString(),chars2Remove);
Run Code Online (Sandbox Code Playgroud)
但它不会编译...
我得到的编译错误是:
'string.String(char*)' 的最佳重载方法匹配有一些无效参数
参数 1:无法从 'string' 转换为 'char*'
我哪里出错了,还有更好的方法吗?
当然我可以只使用
wsSoapBody.CardCity = aMessage[(int)cardCreate.CardCity].ToString().TrimEnd
('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', ' ').
TrimStart('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', ' ');
Run Code Online (Sandbox Code Playgroud)
但我更喜欢有一些可重复使用的东西。
谢谢
我试图弄清楚一旦我击中某个字符,如何从尾部修剪 Bash 中的字符串。
示例:如果我的字符串是这个(或任何链接):https://www.cnpp.usda.gov/Innovations/DataSource/MyFoodapediaData.zip
(我将其设置为我的变量)。(也就是说,如果我echo $var它会返回该链接:)
我想使用 Bash,我猜我需要使用 sed 或 awk,但我想修剪,从末尾开始,直到看到第一个 / (因为将是文件名)并将其删除。
因此,使用该链接,我尝试获取 / 所以只是“MyFoodapediaData.zip”并将其设置为不同的变量。
所以最后,如果我 echo $var2 (如果我这样称呼它)它只会返回:MyFoodapediaData.zip”
我尝试使用 sed 's.*/" ,这将从头开始,直到找到第一个斜杠。如果可能的话,我正在寻找相反的顺序。
我从工作表中的网站复制了一些数据,并注意到除了预期值之外的一些单元格还包含一个尾随空格。
由于给我的代码带来麻烦,我想删除这些空格。我发现了一个具有此空间的特定单元格并尝试:
Worksheets(2).Range("D17").Value = Trim(Worksheets(2).Range("D17").Value)
Run Code Online (Sandbox Code Playgroud)
然后我尝试:
Worksheets(2).Range("D17").Value = WorksheetFunction.Trim(Worksheets(2).Range("D17").Value)
Run Code Online (Sandbox Code Playgroud)
该Replace函数不仅删除前导和尾随,还删除字符串内的空格:
Worksheets(2).Range("D17").Value = Replace(Worksheets(2).Range("D17").Value," ","")
Run Code Online (Sandbox Code Playgroud)
我可以检查最后一个字符是否为空格并为每个单元格删除它,但这似乎不是一个优雅的解决方案,主要问题仍然存在:为什么Trim函数不起作用?
我有不同的表单字段,我想validator在触发方法之前默认修剪表单字段的每个值。
我想要实现这一点的原因是,如果我regex在validator方法被触发时对 Input 值运行 a ,正则表达式将返回 false,input_text.hasMatch因为输入值末尾有一个无用的空格字符。
例如。alphaNumericText.hasMatch(val)由于输入值末尾有一个无用的额外空格字符,下面的代码将返回 false。
final alphaNumericText = RegExp(r'^[a-zA-Z0-9]+$');
TextFormField(
keyboardType: TextInputType.text,
decoration: new InputDecoration(
labelText: 'Enter your nickname',
),
validator: (val) {
if (val.isEmpty == true) {
return 'Nickname is required!';
}
if (alphaNumericText.hasMatch(val) == false) {
return 'Use alphanumeric characters only in nickname.';
}
return null;
},
onSaved: (val) => this.nickname = val,
),
Run Code Online (Sandbox Code Playgroud)
注意我不想通过修改alphaNumericText RegExp输入值末尾的额外空格来实现这一点。我不想以这种方式实现这一目标。
我想要的是在调用方法之前默认验证表单中所有 TextField 中的每个值 …
基本上,我在 Lua 中有一个字符串,它是用户输出,但我想修剪第一个字符,因为我并不真正需要它。我怎样才能做到这一点?
String.trim()不适用于使用 构建的字符串buildString。例如,
val s = buildString {
append("{")
append('\n')
append(" ".repeat(5))
append("hello")
append(" ".repeat(7))
append("world")
append("}")
}
println(s.trim())
Run Code Online (Sandbox Code Playgroud)
这打印
{
hello world}
Run Code Online (Sandbox Code Playgroud)
但我需要它来打印
{
hello
world
}
Run Code Online (Sandbox Code Playgroud)
如何在不编写自己的修剪方法的情况下修剪缩进?
我很好奇修剪字符串的正确方法是确保不会发生内存泄漏.我想这可能真的是一个基于free()工作原理的问题.我已经包含了trim()函数的代码.见下文.
int main()
{
char* testStr1 = strdup("some string");
char* testStr2 = strdup(" some string");
char* testStr3 = strdup("some string ");
trim(&testStr1);
trim(&testStr2);
trim(&testStr3);
free(testStr1); // no memory leak
free(testStr2); // possible memory leak?
free(testStr3); // possible memory leak?
return 0;
}
int trim(char** pStr)
{
if(pStr == NULL || *pStr == NULL)
return FAILURE;
char* str = *pStr;
while(isspace(*str)) {
(*pStr)++;
str++;
}
if(*str == 0) {
*pStr = str;
return SUCCESS;
}
char *end = str + strlen(str) …Run Code Online (Sandbox Code Playgroud) 我在.NET 3.5下使用TrimEnd()获得了不一致的结果.TrimEnd看起来好像很简单,有什么我在这里做错了或者这是一个bug
成功案例
var foundvalue = "hosted.local.chatter.com";
Console.WriteLine(foundvalue.TrimEnd(".chatter.com".ToCharArray()));
// Result is "hosted.local" which is expected.
Run Code Online (Sandbox Code Playgroud)
失败案例
var foundvalue = "hosted.local.chattermailcom";
Console.WriteLine(foundvalue.TrimEnd(".chattermailcom".ToCharArray()));
// Result is "hosted" which is incorrect
Run Code Online (Sandbox Code Playgroud)